This Todo list was made using Next.js, React, Apollo Client and Material UI amongst other libraries on the frontend and Node.js with Apollo Server and GraphQL on the backend. As for the database, I used MongoDB and MongoDB Atlas for hosting.
- User authentication and authorization with jsonwebtoken and personally developed authentication middleware hocs
- User Password encryption using hashing with bcrypt.js
- Responsive design and use of material-ui-icons
- Use of React ContextAPI
- Storage of environmental variables with dotenv
- Detailed project development with precise and simple commit messages (source)
- Greatly improved my skills as a backend developer by building a solid full stack application with complex entities and a simple and self exlanatory api
- Vastly imporved my css skills
- Learned more about CI/CD with Vercel
- Introduced myself to the world of GraphQL
- Gained more advanced React experience ContextAPI
- Greatly improved my development process and monitoring through the correct use of git branches, commit messages, pull requests, stashing and many more
- Got one step further to writing cleaner and more self explanatory code
# Clone this repository
$ git clone https://github.com/vasilismantz/work-project.git
# Go into the repository
$ cd work-project
# Install dependencies
$ yarn install
Copy and update the environment variables
cp ./apps/api/.env.example ./apps/api/.env
cp ./apps/www/.env.example ./apps/www/.env
Run the app
- For the backend
$ yarn run dev:api
- For the frontend
$ yarn run dev:www
Use yarn workspace <app> add <library@version>
. The following example shows how to install react v16.13.1 for apps/www:
yarn workspace @work-project/www add [email protected]
- here along with some other improvements planned.