Welcome to the backend of Scrinix, a platform designed to streamline the moderation of internal exams. This documentation outlines the key aspects, features, and structure of the backend system, built to provide a secure and efficient foundation for the application.
Note: The application is not completed. Feel free to contribute or fork this project.
The frontend repository can be found here.
- Runtime: Node.js
- Framework: Express.js
- Database: PostgreSQL
- File Uploads: Multer (stored in postgres)
└── Scrinix-BE/
├── README.md
├── package.json
├── tsconfig.json
├── .swcrc
├── docs/
│ ├── README.md
│ ├── DB.md
│ ├── File structure.md
│ ├── Private.md
│ ├── TODO.md
│ └── assets/
├── init/
│ ├── basic_insertions.sql
│ ├── cleanup.sql
│ └── schema.sql
└── src/
├── index.ts
├── config/
│ └── db.ts
├── controllers/
│ └── admin/
│ └── root.ts
├── lib/
│ ├── ErrorHandling.ts
│ ├── HTTP_status.ts
│ ├── Logger.ts
│ ├── hashPassword.ts
│ └── utils.ts
├── models/
│ ├── type.d.ts
│ ├── college/
│ │ └── model.ts
│ └── faculty/
│ └── model.ts
└── routes/
├── swagger.ts
├── admin/
│ ├── clgAdmin.ts
│ ├── index.ts
│ └── root.ts
├── coordinator/
│ └── index.ts
├── course/
│ └── index.ts
├── exams/
│ └── index.ts
└── staff/
└── index.ts
- Clone the repository
- Install the dependencies.
npm install # or yarn install # or pnpm install
- Create a
.env
file and populate it with the following environment variables.PORT=3000 DB_USER= DB_HOST= DB_NAME= DB_PASSWORD=
- Start the development server.
npm run dev # or yarn dev # or pnpm dev
- The server would be running at http://localhost:3000 locally.
- Clone the repository and install the dependencies and follow the above mentioned steps upto step 3.
- Build the project.
npm run build # or yarn build # or pnpm build
- Start the production server.
npm start # or yarn start # or pnpm start
The project uses postgres SQL as the database. For creating the scheme run the schema file in the database. For cleaning up the scheme run the cleanup file in the database.
The API documentation is available at http://localhost:5000/api-docs when the server is running.