/lyric

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

Data Submission

Project structure

This is a monorepo project managed by PNPM package manager. It's structured in apps/ to keep deployable applications and packages/ to keep shared libraries.

.
├── apps/
│   └── server
├── packages
│   ├── data-model
│   └── data-provider

System Dependencies

Local development

Development tools

  • PNPM Project manager
  • Node.js Runtime environment (v20 or higher)
  • VS Code As recommended code editor

Quickstart development

To setup locally make sure to set following environtment variables.

Run pnpm i to install dependencies

Use command pnpm start:dev described on script commands to start server in development mode running by default in port 3000

Swagger URL: http://localhost:3000/api-docs/

Environment variables

Create a .env file based on .env.schema located on the root folder and set the environment variables for your application.

The Environment Variables used for this application are listed in the table bellow

Name Description Default
PORT Server Port. 3030
UPLOAD_LIMIT Limit upload file size in string or number.
Supported units and abbreviations are as follows and are case-insensitive:
- b for bytes
- kb for kilobytes
- mb for megabytes
- gb for gigabytes
- tb for terabytes
- pb for petabytes
Any other text is considered as byte
'10mb'
DB_HOST Database Hostname
DB_PORT Database Port
DB_NAME Database Name
DB_USER Database User
DB_PASSWORD Database Password
LECTERN_URL Schema Service (Lectern) URL
LOG_LEVEL Log Level 'info'

Script commands (Workspace)

Command Description
pnpm build:all Compile typescript code in the workspace and generate database schemas
pnpm start:dev Run database migration and start Server for development
pnpm start:prod Run database migration and start Server for production