A project management application, where you can store your projects in a MongoDB database. The frontend of the application is built with Pug and the backend with Express and Node.js. I wanted to experiment with different CSS styles such as Neomorphism 3D and gradients, so I decided to use them in this project though not push to this branch. I learned a lot while building this project and I hope it can be of help to someone else too!
- Add new projects with details such as name, description and date
- Delete projects
- View all projects in a list
- Edit existing projects(WIP)
- Filter projects based on their status (completed, ongoing, planned)(WIP)
- Model View Controller pattern based application.
- Authentication with use of passport.js.
- Password encryption with bcrypt.js.
- User session.
- Application data models based on mongoose's schema based solution.
- POST requests validation with express-validator.
- User sign up option.
- Login functionality.
- Logout functionality.
- Password confirmation custom validation.
- Username duplication prevention.
- Option to add new project for logged in users.
- Node.js
- Express
- Pug
- CSS
- Git and GitHub
- Linux terminal
- MongoDB Atlas(mongosh-shell)
- Neovim
- mongoose
and To run the project, simply type on ur powershell || terminal || vscode terminal:
bash npm_install_run.sh
Else u can manually run it by following the below steps:
- Clone repository.
- Run
npm install && npm audit fix
command in your terminal. - Create .env file
- In .env file set up new environmental variable named
MONGODB_URL
and paste your own mongoDB connection link. - Run
npm run start
command in your terminal. - Server will listen to requests from
localhost:3000
. - Then
Front page Login page Signup page Input page
Contributions are always welcome! If you have any suggestions or bug fixes, feel free to submit a pull request.