TaskEase is a task management application that allows users to create tasks, mark them as completed, and view both current and completed tasks. It features user authentication, task management, and secure data handling.
- Task Management: Create, view, and manage tasks.
- Task Completion: Mark tasks as completed and view completed tasks.
- User Authentication: Secure user registration and login.
- Data Security: Passwords are encrypted using bcrypt.
- Token Management: JSON Web Tokens (JWT) are used for user authentication with token expiry logic.
- Validation: Zod is used for data validation to ensure data integrity.
- React: User interface development.
- Axios: HTTP client for API requests.
- Express: Backend framework for handling HTTP requests.
- Mongoose: ODM (Object Data Modeling) library for MongoDB.
- Zod: Data validation library for request validation.
- bcrypt: Library for hashing passwords.
- JWT: JSON Web Token for user authentication.
- Node.js: Download and install Node.js
- npm: Node package manager (comes with Node.js)
- MongoDB: Set up MongoDB
-
Clone the repository:
git clone https://github.com/yourusername/taskease.git cd taskease
-
Install Dependencies:
cd ./backend npm install npm i express npm i cors npm i zod npm i mongoose npm i bcrypt npm i jsonwebtoken npm i dotenv cd ./frontend npm install
-
Set up environment variables: Create a .env file in the root directory ie./backend and add the following variables:
MONGO_URL=mongodb://localhost:27017/taskease JWT_SECRET=your_jwt_secret PORT =3000
-
Start the backend server:
node index.js
-
Start the frontend server:
npm run dev
Contributions to the TaskEase project are welcome! If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request.
Thank you for using TaskEase Happy Coding! 🚀