TaskNest is a simple Todo web application built using the MERN stack. It allows users to create, delete, and view a list of todos. The application utilizes ReactJS for the frontend, NodeJS and Express for the backend, and MongoDB for the database. Recoil is used for state management in the frontend.
- ReactJS: A JavaScript library for building user interfaces.
- NodeJS: A JavaScript runtime built on Chrome's V8 JavaScript engine.
- Express: A fast, unopinionated, minimalist web framework for Node.js.
- MongoDB: A NoSQL database program, using JSON-like documents with optional schemas.
- Mongoose: An elegant MongoDB object modeling for Node.js.
- Recoil: A state management library for React.
- Create Todo: Add a new todo item to the list.
- Delete Todo: Remove a todo item from the list.
- View Todos: Display a list of all todos.
To get a local copy up and running follow these simple steps.
Make sure you have the following installed on your machine:
- Node.js
- npm (Node Package Manager)
- MongoDB
-
Clone the repository:
git clone https://github.com/lakshayyv/tasknest.git cd tasknest -
Navigate to the backend directory:
cd backend -
Install backend dependencies:
npm install
-
Create a .env file in the backend directory and add the following environment variables:
MONGO_URI=your_mongo_db_connection_string PORT=4000
-
Start the backend server:
node index.js
-
Open a new terminal and navigate to the frontend directory:
cd frontend -
Install frontend dependencies:
npm install
-
Start the frontend development server:
npm run dev
The application should now be running, with the frontend accessible at http://localhost:5173 and the backend at http://localhost:4000.
- Open your web browser and navigate to http://localhost:5173.
- Add a new todo item by typing in the input field and clicking the "Add" button.
- View the list of all todos.
- Delete a todo item by clicking the "Delete" button next to the respective todo.
tasknest/
├── backend/
│ ├── config/ (.env)
│ ├── controllers/
│ ├── middlewares/
│ ├── models/
│ ├── routes/
│ ├── utils/
│ ├── index.js
│ └── ...
└── frontend/
├── src/
│ ├── components/
│ ├── store/
│ ├── App.js
│ ├── index.css
│ ├── index.js
│ └── ...
├── public/
│ └── logo.png
├── index.html
└── ...
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (git checkout -b feature/)
- Commit your Changes (git commit -m 'Add some ')
- Push to the Branch (git push origin feature/)
- Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Lakshay Verma https://github.com/lakshayyv/TaskNest#readme
