General convention for branches names are: <feature_name>-<user_name>
.
Feature names are given by Administrator. In the future, feature names will be taken from GitHub issues or project.
master
branch is protected by default. All pull requests have to be accepted by Administrator.
There are no restrictions in terms of commmit messages. However, please do not use "." or "next" as commit message. Message should describe briefly what was done.
- Plularize names.
- Use kebab case in file names.
- File should have its type written before extension.
<name>.<type>.ts
, eg.:add-user.input.ts
.
- Modules should be placed in
src/modules
. - Utils should be placed in
src/utils
. - Shared providers should be placed in
common
module.
- Use eslint or tslint and prettier. It is already configured in
server
project. - Precommit hooks are defined for
server
project.
- Use
@Inject()
before injected services. - Always use upper-case
@Decorators
, eg.prop()
from@typegoose/typegoose
should be imported asProperty
. Change the names of imports to unique. - Use relative imports.
- Use single quotes.
- Use semicolons.
- Use max line width set to 120 chars.
- Do not write extensive, to long methods.
Backend is written using TypeScript with NestJS and type-graphql.
Hosted on port 5000.
REMEMBER TO: Copy .env.template
into .env
and set proper values.
Frontend is written (will be) using React and Apollo Client.
Hosted on port 3000.
To run project in development mode use docker-compose up --build
.