ROQ One Backend is placed in the
/backend folder of the mono-repository that you can find on Github: roqtech/roq-one. In this directory, you’ll see several sub-directories and files:
Root directory of ROQ One Backend. The files are explained below.
The data-directory contains CSV files which represent your “seed” or “demo” data.
Generated documentation of your GraphQL API. Read more about this here: GraphQL API doc
Source directory of your application. All directories are explained below.
This file makes your IDE compatible with the used coding guidelines. The EditorConfig is compatible with most IDEs like WebStorm and VS Code.
Configuration file for ESLint that defines which files to ignore.
Configuring ESLint rules.
Defines which files won’t be commited to the repository
Setting node.js version for nvm. Nvm is the package which allows to switch between node versions without new installation of node.
Config of rules of prettier. Prettier is a utility that automatically formats your code.
Used by docker-compose to install the database, see Local installation guide
Installation of ROQ One Backend via docker-compose, see Local installation guide
Installation of ROQ One Backend via docker, see Local installation guide
Configuration file of Jest which is used for the e2e tests.
Compiler options that are needed because of the mono-repository approach.
This file will be auto-generated when you run TypeORM migration, see Database migrations
This file contains all executed database queries and statements. You can configure it in
List of dependencies which are installed when you run
Calculated file that describes which versions of what dependency will be installed.
These files contain options of the TypeScript compiler
This directory contains the entire authentication flow with user registration, login, refresh-tokens and the strategies.
Usual way of Nest.js configuration.
Example module with the book-author case. Should be removed before go-live.for more information.
Directory that keeps all generated database migrations. See Database migrations
This module is a helper module which is needed to set up cypress testing environment. It has controllers to define the initial state when running cypress tests locally. The module is protected for non-development environments.
Module that contains the core CRUD logic of the user feature.
Additional logic for user module that is integrated with ROQ Platform.
Business logic of the user invite feature.
Rest controller for the application’s health-check.
Root module of the application where you declare the global dependencies like TypeORM and Apollo Server and also set global middleware and interceptors.