Library and book management services and administration for upper secondary schools. Built with Next.js with Material UI using an AdonisJS backend. This project is the successor for the bl-web and bl-admin projects, with the aim to unify the administration site with the customer site.
This repository consists of two workspaces.
- frontend is the Next.js frontend responsible for all user facing UI
- backend is the AdonisJS server responsible for business logic and database access
The frontend only depends on the shared types located in backend/shared. Code style and linting is handled on root level for both workspaces.
# Install dependencies
$ pnpm install
# Frontend
# Copy .env.example to .env and fill in the correct keys
# Run the development server on http://localhost:3000
$ pnpm -F frontend dev
# For production builds, use
$ pnpm -F frontend build
$ pnpm -F frontend serve
# Backend
# Copy .env.example to .env and fill in the correct keys
# Run the development server on http://localhost:1337
$ pnpm -F backend dev
# For production builds, use
$ pnpm -F backend build
$ pnpm -F backend start
# All checks and fixes for both workspaces can be run with
$ pnpm fix
# Run backend tests
$ pnpm test
There are two active branches, main
and production
. The main
branch is automatically deployed to the staging environment, while production
auto-deploys to the public live version.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.