Tagline: Stay on top of your tasks and goals with TaskMaster
TaskMaster is a web application designed to help individuals and teams stay organized and focused on their tasks and goals. Users can create, manage, and track tasks seamlessly, ensuring they never miss a deadline.
- Task Management: Create, read, update, and delete tasks.
- User-Friendly Interface: Simple, intuitive UI to manage tasks.
- Real-Time Updates: Changes reflect instantly across the application.
- React
- HTML
- CSS
- Node.js
- Express
- MongoDB
- React Hooks
- Redux
- Axios
- Jest
- Enzyme
- Cypress
- Node.js (v12 or higher)
- npm (v6 or higher)
- MongoDB
-
Clone the repository:
git clone https://github.com/samuelkofiannan/taskmaster.git cd taskmaster -
Backend Setup:
cd backend npm install -
Frontend Setup:
cd ../client npm install -
Database Setup:
- Create a MongoDB database named
taskmaster.
- Create a MongoDB database named
-
Environment Variables:
- Create a
.envfile in thebackenddirectory and add the following:DB_HOST=your_db_host DB_USER=your_db_user DB_PASSWORD=your_db_password DB_NAME=taskmaster PORT=5000
- Create a
-
Run the Application:
- Start the backend server:
cd backend npm start - Start the frontend server:
cd ../client npm start
- Start the backend server:
taskmaster/
├── backend/
│ ├── controllers/
│ │ └── taskController.js
│ ├── models/
│ │ └── taskModel.js
│ ├── routes/
│ │ └── taskRoutes.js
│ ├── config/
│ │ └── dbConfig.js
│ ├── index.js
├── frontend/
│ ├── public/
│ │ └── index.html
│ ├── src/
│ │ ├── components/
│ │ │ ├── TaskList.js
│ │ │ ├── TaskItem.js
│ │ │ ├── AddTask.js
│ │ │ └── styles/
│ │ │ ├── TaskList.css
│ │ │ ├── TaskItem.css
│ │ │ └── AddTask.css
│ │ ├── pages/
│ │ │ ├── HomePage.js
│ │ │ └── HomePage.css
│ │ ├── App.js
│ │ ├── App.css
│ │ ├── index.js
│ │ ├── index.css
│ │ ├── api/
│ │ │ └── tasks.js
│ ├── package.json
├── .gitignore
├── package.json
└── README.md
- Navigate to
http://localhost:3000in your browser to access the TaskMaster web app. - Use the form to add new tasks, edit existing tasks, or delete tasks as needed.
-
Create Task:
- Endpoint:
/api/tasks - Method: POST
- Description: Adds a new task.
- Request Body:
{ "title": "Task title", "description": "Task description", "status": "pending" }
- Endpoint:
-
Read Tasks:
- Endpoint:
/api/tasks - Method: GET
- Description: Retrieves all tasks.
- Endpoint:
-
Update Task:
- Endpoint:
/api/tasks/:id - Method: PUT
- Description: Updates an existing task.
- Request Body:
{ "title": "Updated title", "description": "Updated description", "status": "completed" }
- Endpoint:
-
Delete Task:
- Endpoint:
/api/tasks/:id - Method: DELETE
- Description: Deletes a task.
- Endpoint:
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature-name). - Open a pull request.
For any questions or feedback, please reach out to:
- Afia Adobea Owusu-Asare: Frontend Engineer
- Kofi Annan: Backend Engineer