This project is a Task Management System that enables users to manage their tasks effectively. Users can:
- Create new tasks with a title, description, due date, and priority level.
- View a list of all tasks with options to sort by due date, priority, and creation date.
- Edit task details, including changing the status to "in-progress" or "completed".
- Delete tasks that are no longer needed.
- Filter tasks by status (all, in-progress, completed) and search by keywords in the title or description.
- View a dashboard with statistics such as the number of tasks completed, tasks in progress, and overdue tasks.
- Create Tasks: Add new tasks with detailed information.
- View Tasks: List and sort tasks by various criteria.
- Edit Tasks: Update task information and status.
- Delete Tasks: Remove tasks from the list.
- Filter and Search: Easily find specific tasks.
- Dashboard: Track productivity with task statistics.
- Frontend: React
- State Management: Redux
- Backend: Node.js with Express (mock backend using JSON Server)
- Version Control: Git
- Node.js
- npm
- TypeScript
-
Clone the repository:
git clone https://github.com/your-username/task-management-system.git
-
Navigate to project directory:
cd task-management-system
-
Note: Depending on your system's configuration, you might need to run the above command with sudo to install dependencies.
sudo npm <replace with command>
-
Navigate to the library directory:
cd task-management-lib
-
Install dependencies:
npm install
-
Build the library:
npm run build
-
Package the library:
npm pack
-
Verify the integrity of
task-management-lib-<version>.tgz
:tar -tzf task-management-lib-<version>.tgz
The file structure should look like this:
package/lib/task.js package/package.json package/task-management-lib-<version>.tgz package/lib/task.d.ts
-
Navigate to the server directory: if you are in the
task-management-lib
ortask-management-app
directory:cd ../task-management-server
or if you are in the
task-management-system
directory:cd task-management-server
-
Install dependencies:
npm install
-
Verify dependency version is correct:
- Open the
package.json
file located in your project's root directory. - Look for the
task-management-lib
entry underdependencies
. - Ensure that the version number matches the expected version (e.g.,
"file:../task-management-lib/task-management-lib-0.0.3.tgz"
).
- Open the
-
Install library:
npm install ../task-management-lib/task-management-lib-<version>.tgz
Replace
<version>
with the actual version number. -
Start the server:
npm run start
The server will run on
http://localhost:5001
. -
Verify the server is running by using one of the following methods:
-
Web Browser Method:
- Open a web browser.
- Navigate to
http://localhost:5001/api/tasks
. - You should see a JSON list of tasks.
-
Command Line Method: Alternatively, you can use
curl
in the terminal:curl http://localhost:5001/api/tasks
-
Short Method for both methods:
- Check the server status by checking the URL http://localhost:5001/api
- You should see a message:
API is running
-
-
Navigate to the server directory: if you are in the
task-management-lib
ortask-management-server
directory:cd ../task-management-app
or if you are in the
task-management-system
directory:cd task-management-app
-
Install dependencies:
npm install
-
Verify dependency version is correct:
- Open the
package.json
file located in your project's root directory. - Look for the
task-management-lib
entry underdependencies
. - Ensure that the version number matches the expected version (e.g.,
"file:../task-management-lib/task-management-lib-0.0.3.tgz"
).
- Open the
-
Install library:
npm install ../task-management-lib/task-management-lib-<version>.tgz
Replace
<version>
with the actual version number. -
Start the server:
npm run start
The server will run on
http://localhost:3000
. -
Open a web browser and navigate to http://localhost:3000 to view the application.
This project is licensed under the MIT License. See the LICENSE file for more details.