This is the final project of the course CSC13002 (Introduction to Software Engineering) at VNUHCM - Univeristy of Science.
- Backend Developer: trislee02, theanhbr01, leanhuynh
- Frontend Developer: tranbaoanhh27, thehoangcn511
The project uses a number of open source projects to work properly:
- NodeJs - Evented I/O for the backend.
- ExpressJs - Fast node.js network app framework.
- ReactJs - Front-end Framework.
- axios - A simple promise based HTTP client for the browser and node.js.
- cors - Allow Cross-Origin requests.
- helmet - Secure Express apps by setting various HTTP headers.
- morgan - HTTP request logger middleware for node.js.
- sequelize - A modern TypeScript and Node.js ORM
- Bootstrap - HTML, CSS Framework
- The project requires Node.js v10+ to run. Follow instructions on NodeJS official website.
- Clone the project:
git clone https://github.com/tranbaoanhh27/genz-job.git
- Configure Database connection in ./server/config/config.json
- Install dependencies and run:
cd genz-job && npm install && cd client && npm install && cd .. && npm start
Back-end builds APIs that supports Front-end display UI
- /api: Contains api calling method
- AuthHeader.js - config file for authenticated request.
- /common: Including wrapper (HOC) that can use hooks
- /components: Components
- /pages: Specify Page
- /contexts: Contexts
- /hooks: Custom Hooks
- /config: Including server configuration
- /controllers: Controller Layer
- controller_name.controller.js - controller file name must be followed by the principle
- /middlewares: Global Middleware Layer
- middleware_name.middleware.js - middleware file name must be followed by the principle
- /models: Model Layer
- model_name.model.js - model file name must be followed by the principle
- /ultis: Including middleware function for specify controller