This is the Backend part of the Full Stack Capstone Project for Reengen Full Stack Web Development Bootcamp with VueJs and NodeJs.
You can see the live demo here.
TODO: Routes will be rearranged in accordance with REST principles.
This project is built with:
- Javascript Runtime Environment: NodeJs
- Web Framework for NodeJs: ExpressJs
- Authentication and authorization: Json Web Token
- Password hashing: Bcryptjs
- Validations: Express Validator
- Databases:
- NodeJs ODM for Mongodb: MongooseJs
- For interacting with PostgreSQL: Node Postgres
- Deployment: Heroku
This is an energy management app for listing different factories and their related units' energy consumption amounts, price, discount status and total price. It is authenticated with JWT (JSON Web Token) so you should register to be able to view the data.
Users should be able to:
- View the optimal layout for the app depending on their device's screen size
- See hover states for all interactive elements on the page
- Register via Register page (/register) by entering username, email, password and user role (user and admin)
- Login via Login page (/login)
- Select "Remember Me" option in login page to keep logged in
- Receive form validations while registering and logging in
- View factory data in Dashboard when logged in
- View username and email information in the user modal residing on the header
- Navigate to user settings page when clicked to the settings button in user modal
- View related units' data when clicked on a factory
- Add, edit and delete factory/unit data if registered as an "ADMIN" user
- Add and delete factory/unit columns if registered as an "ADMIN" user
- Buttons for adding/editing/deleting rows and columns will only be visible for "ADMIN" users
- Solution URL: Github Link
- Live Site URL: Reengen Bootcamp Capstone Project
- NodeJs
- ExpressJs
- Json Web Token
- Bcryptjs
- Express Validator
- Mongodb
- PostgreSQL
- MongooseJs
- Node Postgres
- Portfolio - Fatih Özoğlu
- Linkedin - Fatih Özoğlu
npm install
npm run serve
npm run build
npm run lint