Task Manager is a web-application for task management, developed using Bash, HTML, MariaDB, Apache, and sockets.
- Add Tasks: Specify the description, deadline, and priority of a task.
- Edit Tasks: Update task details using a form.
- View Tasks: Display all tasks in a structured table format.
- Complete Tasks: Mark tasks as completed, transfer them to an archive using sockets, and save their details in text files.
- Delete Tasks: Delete selected tasks.
- Task Tracking: Automatic tracking of task creation date and last modification date.
Before running the project, ensure the following:
- MariaDB:
- Create a database named
task_manager_db
usingmariadb.sql
script. - Create a directory
config
in/lib/cgi-bin/
and placedb_params.sh
in it.
- Create a database named
- Apache Web Server:
- Configure the server to process CGI scripts.
- Place
.sh
files in the appropriate CGI directory (/lib/cgi-bin). - Place
index.html
file in the appropriate HTML directory (/var/www/html). - Place images in the appropriate
images
directory (/var/www/html/images).
- Socket Support:
- Ensure that the
nc
(netcat) command is installed. - Place
server.sh
in any directory and in this directory create another directory calledarchive
- Start a socket server
./server.sh
.
- Ensure that the
- Permissions:
- Set executable permissions for all
.sh
scripts usingchmod +x <script_name>
.
- Set executable permissions for all
- Start the Apache web server and ensure MariaDB is running.
- Open the web application
localhost/index.html
in your browser:- Add tasks using the "Add Task" form.
- Edit, delete or complete tasks by clicking the task ID in the task list.
- Mark tasks as completed to move them to the archive.
- For socket operations, ensure the server script is running in the background:
./server.sh