MTouthang / server

lmsGenie backend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


logo

💫 lmsGenie Back-End 💫

Express.js MongoDB

This repository contains code and resources dedicated to the development and maintenance of the backend component of the lmsGenie application.

Getting Started

Below steps will guide you, how to set up your project locally. To get a local copy up and running follow these simple example steps.

  1. Install pnpm
npm i -g pnpm
  1. Clone repo locally.
git clone https://github.com/lmsGenie/server.git
  1. Install dependencies
pnpm i
  1. Run project locally
pnpm run dev

Database Design

Checkout our Database Design.

Edit in Eraser

Project Structure

  1. Code files
  • src/: Contains all source code files.
  • src/controller/v1/: Defined controllers functions.
  • src/models/: Defined Schemas and Models.
  • src/routes/v1/: Defined API routes.
  • src/services/: Defined helper services (eg. email service)
  • src/middlewares/: Defined middleware functions.
  • src/config: Defined API related configs here (eg. DB configs).
  • src/validations/: Defined zod validations.
  • src/enums/: Defined enum constants.
  • src/logger/: Defiled winston logger.
  • src/utils/: Reusable utility function/constants.
  • src/helpers/: Reusable helper function/contants.
  1. Config files
  • jest.config.js: Jest config.
  • .eslintrc.json: Eslint config.
  • .eslintignore: Esline ignore.
  • commitlint.config.js: Commitlint config.
  • prettier.config.js: Prettier config.
  • .prettierignore: Prettier ignore.
  • tsconfig.json: Typesctipt config.
  • package.json: Project dependencies.
  • .husky: Husky config files.

Want to contribute?

Feel like contributing? That's awesome! We have a contributing guide to help guide you.

Want to discuss something? Create a discussion

About

lmsGenie backend

License:MIT License


Languages

Language:TypeScript 85.5%Language:EJS 10.8%Language:JavaScript 2.2%Language:Makefile 0.8%Language:Shell 0.5%Language:Dockerfile 0.4%