Ly Tuan Kiet 45dca51990 chore: update biome configuration and enhance error handling in schema files
- Enabled useIgnoreFile in biome.json for better file management.
- Updated various correctness and style rules in biome.json to enforce stricter coding standards.
- Added new biome lint command in package.json for improved code quality checks.
- Refactored error handling in multiple schema files to use consistent error throwing patterns, enhancing readability and maintainability.
- Improved user authentication checks across various schemas to ensure proper access control.
2024-12-08 21:01:26 +07:00
2024-10-18 00:10:24 +07:00
2024-10-29 17:42:54 +07:00

Project Name

Overview

This project is built using NestJS and LiveKit server SDK to manage video collaboration sessions, scheduling, and user services. It utilizes Prisma as an ORM for database interactions.

Getting Started

Prerequisites

  • Node.js installed on your machine.
  • A PostgreSQL database or another SQL database supported by Prisma.
  • Environment variables for LiveKit and database credentials set up correctly.

Installation

  1. Clone the repository:

    git clone https://github.com/EPESS/epess-web-backend.git
    cd epess-server
    
  2. Install the dependencies:

    npm install
    
  3. Create the .env file:

    Create a file named .env at the root of the project and set the following environment variables:

    LIVEKIT_API_KEY=your_livekit_api_key
    LIVEKIT_API_SECRET=your_livekit_api_secret
    DATABASE_URL=your_database_url
    
  4. Run database migrations:

    Ensure your database is set up, and use Prisma to run migrations.

    npx prisma migrate dev
    

Running the Application

To start the application:

npm run start:dev

This command will start the application in development mode with live reload enabled.

Services Description

LiveKit Participant Service

This service handles operations related to participants in a LiveKit room. It utilizes the RoomServiceClient from the livekit-server-sdk.

Reference:

startLine: 1
endLine: 8

LiveKit Service

Responsible for generating access tokens for users to join LiveKit rooms. It utilizes API keys and secrets for authorization.

Reference:

startLine: 1
endLine: 26

Other Services

The project includes additional service files for room management (livekit.room.service.ts) and integration with other modules like notifications and payment handling.

Additional Notes

  • Ensure that the Prisma service is properly configured and running.
  • Always make sure to keep your environment variables secure.
  • To seed the database with initial data, refer to epess-database/prisma/seed.js.

Contributing

Please feel free to contribute by opening issues or pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Description
No description provided
Readme 1.7 MiB
Languages
TypeScript 64%
Pug 35%
MDX 0.8%
Dockerfile 0.2%