- Node.js: This is the primary platform to build your backend application.
- Express.js: Used as a web framework to handle HTTP requests and create APIs.
- Prisma: An ORM (Object-Relational Mapping) for Node.js and TypeScript, used to interact with the database. The current version you're using is
@prisma/client
. - bcrypt: Library for password hashing.
- body-parser: Middleware to parse data from HTTP requests (
req.body
). - crypto: Used to perform encryption, decryption, and generate random strings.
- dotenv: Library to load environment variables from a
.env
file into the Node.js process. - ejs: Used as a view engine to render web pages.
- express-session: Middleware to manage sessions in Express.
- method-override: Middleware allowing the use of HTTP methods like PUT or DELETE in HTML requests.
Your project may be using the MVC (Model-View-Controller) pattern to organize the application code. The main components of this pattern can be used as follows:
-
Model: In your case,
models
are created to interact with the database through Prisma (@prisma/client
). Models typically represent data objects in the database like User, Incident, Solution, and perform operations like create, read, update, delete (CRUD) through these models. -
Controller: Controllers are modules or files used to handle requests and return responses to clients. Controllers call models to perform data-related operations.
-
View: Views are EJS files used to display the content of the application, like HTML pages rendered based on data returned from controllers.
With this pattern, you can organize your code clearly and maintain it easily.
Additionally, your project uses a .env
file to manage environment variables, and has development dependencies like prisma
to assist in development with Prisma.
- Clone the repository to your machine:
git clone https://github.com/Hoang-Nguyen-Huy/ydcc2024-Securerror
- Install npm and start
npm i npm start