University management system backend (node.js)
This project serves as the backend for a University management system, designed to streamline the management of student data, course registrations, and more. Built with Express.js and TypeScript, it emphasizes strong typing and modern asynchronous patterns for handling HTTP requests.
asyncHandler
for improved error handling in asynchronous routes, and structured constants for consistent validation messages.git clone https://github.com/Swiatlon/University-BN
cd University-BN
npm install
npm run migration:generate name"(optional)"
npm run migration:apply
nodemon
:npm run dev
npm run build
npm start
We have developed a custom migration utility to streamline database migrations, ensuring that your schema changes are versioned and consistently applied across all environments.
npm run migration:generate thereMigrationName(optional)
.npm run migration:run
.npm run migration:revert
.src/
: Contains all source files.
controllers/
: Handles incoming requests and returns responses to the client.entities/
: Represents database tables and relations.services/
: Contains the core business logic.dtos/
: Ensures type safety and validation for incoming data.constants/
: Stores validation rules and other constant values.utils/
: Provides utility functions and middleware.app.ts
: The entry point of the application.dist/
: Contains compiled JavaScript files, ready for production.Detailed usage instructions, including available endpoints and sample requests/responses, will be added as the API is finalized.
Guidelines for contributing to the project will be established, including code style, pull request procedures, and other essential practices.
The project is open-source under the MIT license.