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_dbusingmariadb.sqlscript. - Create a directory
configin/lib/cgi-bin/and placedb_params.shin it.
- Create a database named
- Apache Web Server:
- Configure the server to process CGI scripts.
- Place
.shfiles in the appropriate CGI directory (/lib/cgi-bin). - Place
index.htmlfile in the appropriate HTML directory (/var/www/html). - Place images in the appropriate
imagesdirectory (/var/www/html/images).
- Socket Support:
- Ensure that the
nc(netcat) command is installed. - Place
server.shin 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
.shscripts 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.htmlin 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