This project is simple Node JS Project Todo list API . In this project i have used Node JS as backend , React JS as frontend and Mongodb as database .
- app.js is main server file .
- routes folder contain all the API's which we used in this project .
- tests folder contain all the API's test which we used in this project .
- security folder contain a file secure.js in this file we have database address and port number .
- models folder contain all database schema .
- strategy folder contain passport local strategy for authetication .
- client folder contain React JS File for single and collabrative collapsed todo .
- User Authentication with passport js (signup and signin)
- Reset password with email
- personal lists (one user owns list)
- collaborative lists (multiple users own list)
- Push notifications using Firebase messaging to multiple devices and users for changes
- Jest Backend Tests and Jest Frontend Test
- If you want to run Node JS then run this command npm start or npm run dev.
- If you want to run test then for backend clone this repo and run this command npm run test.
- If you want to run React JS open client folder and write this command npm start
- If you want to run test in React JS open client folder and write this command npm run test .
- If you want to use this project 1st you need to install Node Js on your system .
- For single and collabrative user first of all you need to create user account by Signup API .
- After creating user account user can Login by using passport jwt authentication
- You can add single todo or collabrative todo by this API's [Single Todo API] (https://github.com/viveksharmaui/C.C-Task/blob/master/routes/singleTodo.js) and Collabrative Todo API .
- After Todo is added in database now you can run React JS and open localhost:/single#user-email after that all the todo list for user-email will be shown to client same case for collbrative todo open localhost:/collabrative#user-email after that all the todo list for user-emaill will be shown to client .