Neko Music is a full-featured music streaming platform designed to offer a smooth experience for discovering, playing, and curating music. This monorepo hosts two main applications: a sleek Angular web interface and a powerful NestJS backend, both managed with Moonrepo for streamlined development and orchestration.
/neko-music
├── /apps
│ ├── /web # Angular-based web application
│ └── /server # Elysia-based backend application
├── /contracts # Pact contracts for API communication testing
└── /packages # Shared libraries and configurations
├── /eslint-config # Shared ESLint configuration
├── /stylelint-config # Shared Stylelint configuration
├── /vitest # Shared Vitest configuration
├── /permissions # Shared permissions library
└── /web-test-utils # Shared testing utilities
For more detailed information about specific components:
To get started, you'll need Moonrepo installed globally. Moonrepo will automatically install all required dependencies.
Before setting up the project, you'll need Moonrepo installed. You have several options to install it:
Using proto (recommended):
proto plugin add moon "https://raw.githubusercontent.com/moonrepo/moon/master/proto-plugin.toml" --to global
proto install moon
Using npm:
npm install --save-dev @moonrepo/cli
On Linux, macOS, or WSL:
curl -fsSL https://moonrepo.dev/install/moon.sh | bash
Then add to your PATH:
export PATH="$HOME/.moon/bin:$PATH"
On Windows (PowerShell):
irm https://moonrepo.dev/install/moon.ps1 | iex
For more detailed information about Moonrepo installation and usage, refer to the official Moonrepo Documentation.
Once Moonrepo is installed, you can easily manage the frontend and backend applications using the following commands:
Web Application:
moon web:start # Starts the web application locally
moon web:test # Runs unit and integration tests
moon web:build # Builds the web application for production
Server Application:
moon server:start # Starts the server locally
moon server:test # Runs unit, integration, and contract tests
moon server:build # Builds the server for production
This project is licensed under the MIT License. See the LICENSE file for more information.