This is a simple task management application where users can create, view, update, and delete tasks. The application is built using Fastify for the backend, MongoDB for the database, Node.js for the server, React for the frontend, and Redux for state management.
- Frontend: React, Redux, Redux Thunk
- Backend: Fastify, Node.js, MongoDB, Mongoose
- Other: Axios (for HTTP requests)
- Display a list of tasks
- Create new tasks
- Update existing tasks
- Delete tasks
- State management using Redux
Ensure you have the following installed:
- Node.js
- npm (Node Package Manager)
- MongoDB (Ensure MongoDB is running locally or provide a remote connection string)
-
Clone the repository:
git clone https://github.com/b1swa/taskList.git cd task-manager -
Navigate to the backend directory and install dependencies:
cd task-manager npm install -
Create a .env file
touch .env
Add your MONGO_DB_URI to .env file
-
Start the Fastify server:
npm start
The server will start on
http://localhost:8000.
-
Open a new terminal, navigate to the frontend directory and install dependencies:
cd task-manager-client npm install -
Start the React development server:
npm start
The frontend will start on
http://localhost:3000.
- Open your browser and navigate to
http://localhost:3000. - You will see a board style list of tasks.
- You can add a new task using the form.
- Click on a task to edit it.
- Click the delete button to remove a task.
taskList/
│
├── server.js # Fastify server setup and route definitions
├── models/ # Mongoose models
│
├── task-manager-client/ # React frontend
│ ├── src/
│ │ ├── actions/ # Redux actions
│ │ ├── components/ # React components
│ │ ├── reducers/ # Redux reducers
│ │ ├── store.js # Redux store setup
│ │ └── App.js # Main App component
│ └── public/
│ └── package.json # Frontend dependencies
│
├── package.json # Backend dependencies
└── README.md # Project documentation