- MariaDB: Data storage
- GraphQL: API
- React: Frontend React app
readerfront/
├── admin # Administration control panel
├── api # API server
├── public # Public files used on the frontend
├── shared # Shared JavaScript code
├── src # Frontend NextJS
Please follow PRODUCTION instructions.
- Install MariaDB: See the MariaDB documentation for instructions on installing it with your OS.
- Install the dependencies: Because it's pretty tedious to install the dependencies for each project individually we've created a script that goes through and runs
npm install
for project for you:
node shared/install-dependencies.js
When you first download the code and want to run it locally you have to migrate the database and seed it with test data. First, start mariadb, then, run these commands:
npm run db:migrate
npm run db:seed
There's a shortcut for dropping, migrating and seeding the database too:
npm run setup:db
Depending on what you're trying to work on you'll need to start different servers. Generally, all servers run in development mode by doing npm run dev:<projectname>
, e.g. npm run dev:api
to start the API, but first you have to check the secrets, every project contains a .env.example
file with the necessary values.
To develop the API run:
npm run dev:api
To develop the web UI run:
npm run dev
To develop the admin UI run:
npm run dev:admin
This is only recommended in dev environment. DO NOT USE THIS IN PRODUCTION!
npm run dev:all
Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing