{"id":20346603,"url":"https://github.com/prity25-coder/employee-review","last_synced_at":"2026-04-09T18:57:39.822Z","repository":{"id":213820799,"uuid":"735006733","full_name":"Prity25-coder/Employee-Review","owner":"Prity25-coder","description":"Coding Ninja Backend  Skill Test Employee Review System. This application that allows employees to submit feedback toward each other’s performance.","archived":false,"fork":false,"pushed_at":"2023-12-25T11:28:55.000Z","size":92,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-04T15:48:29.084Z","etag":null,"topics":["bootstrap","express","mongodb","nodejs"],"latest_commit_sha":null,"homepage":"https://ninja-employee-review.onrender.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Prity25-coder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-23T10:30:16.000Z","updated_at":"2023-12-25T05:36:18.000Z","dependencies_parsed_at":"2023-12-23T12:20:05.586Z","dependency_job_id":"19d4813e-c0b7-4fb6-9247-1345ef0e7f02","html_url":"https://github.com/Prity25-coder/Employee-Review","commit_stats":null,"previous_names":["prity25-coder/employee-review"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Prity25-coder/Employee-Review","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prity25-coder%2FEmployee-Review","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prity25-coder%2FEmployee-Review/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prity25-coder%2FEmployee-Review/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prity25-coder%2FEmployee-Review/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Prity25-coder","download_url":"https://codeload.github.com/Prity25-coder/Employee-Review/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prity25-coder%2FEmployee-Review/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271745694,"owners_count":24813517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","express","mongodb","nodejs"],"created_at":"2024-11-14T22:13:31.833Z","updated_at":"2026-04-09T18:57:34.786Z","avatar_url":"https://github.com/Prity25-coder.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welcome to Employee Review System App\n\n- Coding Ninja Backend Skill Test 2\n\n## Features\n\n- Authentication and Authorization using jwt token\n- Session management\n- Usage of ejs to show UI\n- Making employee as admin\n- Assign one employee to another for review\n- Edit and delete review\n- Tracking feedbacks\n- Resource Management\n- Global Error Handling\n- Logging Request and errors\n- Extensible code flow and Folder structure\n- Best env variable setup\n- Track User Last Visit\n\n## Code Flow\n\n- First browser sends the request to the server\n- Server points to our specific routes\n- before the controller, it may be that there will be middlewares or validators or maybe both\n- If no Middleware of the validator then the request goes to the specific controller\n- Controllers will send back the response, no need to call services\n- Services are basically functions that help us to get data from DB (here is local DB)\n- Service may use models to save data in some specific format\n\nNote:\nMiddleware/validators may or may not be there\nServices/models may or may not be there\n\nImage for better understanding\n\n![How-Node-code-works](https://github.com/pktherock/Habit-Tracker/assets/59223750/c8cdaadf-09ad-4c2a-9a24-c618859282e8)\n\n## Packages used in this project.\n\n1. bcrypt\n   -\u003e To hash and compare the hashed password\n2. compression\n   -\u003e To compress res bodies\n3. cookie-parser\n   -\u003e To interact with cookies\n4. dotenv\n   -\u003e To store sensitive configurations in a .env file\n5. ejs\n   -\u003e To show HTML with Dynamic injected data, JavaScript with HTML\n6. express\n   -\u003e To create Servers (with minimal code)\n7. express-async-handler\n   -\u003e To wrap controller function so that if any error comes it will next function with the error automatically\n8. express-ejs-layouts\n   -\u003e To use main HTML, Header, and footer as base layout and inject other ejs files based on requirements\n9. express-rate-limit\n   -\u003e To prevent or limit repeated requests to our APIs (a normal user can not send more than 60 request per second)\n10. express-session\n    -\u003e To manage Sessions\n11. express-validator\n    -\u003e To validate request body data\n12. helmet\n    -\u003e Helmet helps secure Express apps by setting HTTP response headers.\n13. jsonwebtoken\n    -\u003e To create jwt token\n14. nodemailer\n    -\u003e To send email\n15. uuid\n    -\u003e To generate a random ID\n16. winston\n    -\u003e It helps us to log the req or res in a very easy way\n\n## How to run this project locally\n\n- Clone this repository\n- create a .env file at the root of this project\n- create all env variable which is given in the .env.example file with proper info\n- then run npm install (to install all packages used in this project)\n- then run npm run start\n- go to the link shown in the terminal\n- On the login page, one test user info is there, you can log in with that email ID and password\n- I highly recommend creating another user by signUp for better understanding.\n- Now you are good to go\n- keep in mind that your activity are stored in localDB(cache) so after server restarts all data will be reseated\n- Thank YOU\n\n### Live Demo Link\n\n[Live Demo Link](https://ninja-employee-review.onrender.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprity25-coder%2Femployee-review","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprity25-coder%2Femployee-review","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprity25-coder%2Femployee-review/lists"}