A web-based application to catalog music. Built using FastAPI, Angular and PlanetScale.
The backend is built using FastAPI and Uvicorn. It uses PlanetScale as the database.
You can find the backend code in the backend directory.
To know more, check out the backend README.
The frontend is built using Angular and Angular Material. It uses NgRx for state management.
You can find the frontend code in the frontend directory.
To know more, check out the frontend README.
Run the install
script to install the dependencies for both the frontend and the backend.
On Linux and Mac:
./scripts/install.sh
On Windows:
.\scripts\install.bat
To install the development dependencies along with the ones required for execution, run the install-dev
script instead.
./scripts/install-dev.sh
On Windows:
.\scripts\install-dev.bat
To serve the application, run the serve
script.
On Linux and Mac:
./scripts/serve.sh
On Windows:
.\scripts\serve.bat
Application's backend uses the following dependencies:
Application's frontend uses the following dependencies:
All contributions are subjected to a review before they are accepted.
Please use the install-dev
script provided and install the pre-commit hooks for development before making any
commits or run the following commands from this directory:
cd backend
pipenv install --categories "dev-hooks"
pipenv run pre-commit install
cd ..
Note: This document assumes you have PipEnv and NPM installed on your system globally. If not, check out PipEnv Documentation - Install for PipEnv installation guide and NPM Documentation - Install for NPM installation guide.
These materials may be used for better understanding the source code:
-
Backend
-
Frontend