2021-01-15 20:18:14 +01:00
2021-01-19 15:49:35 +01:00
2021-01-07 19:19:21 +01:00
2020-12-12 13:04:37 +01:00
2020-12-05 18:49:09 +01:00
2020-11-24 16:51:18 +00:00
2020-12-31 17:02:56 +00:00
2020-12-12 12:29:14 +01:00
2021-01-26 20:15:35 +01:00
2021-01-26 20:38:53 +01:00
2020-12-12 12:29:14 +01:00

@lfk/backend

Backend Server

Quickstart 🐳

Use this to run the backend with a postgresql db in docker

  1. Clone the repo or copy the docker-compose
  2. Run in toe folder that contains the docker-compose file: docker-compose up -d
  3. Visit http://127.0.0.1:4010/api/docs to check if the server is running
  4. You can now use the default admin user (demo:demo)

Dev Setup 🛠

Local dev setup utilizing sqlite3 as the database.

  1. Rename the .env.example file to .env (you can adjust app port and other settings, if needed)
  2. Install Dependencies
    yarn
    
  3. Start the server
    yarn dev
    

Run Tests

# Run tests once (server has to run)
yarn test

# Run test in watch mode (reruns on change)
yarn test:watch

# Run test in ci mode (automaticly starts the dev server)
yarn test:ci

Use your own mail templates

You use your own mail templates by replacing the default ones we provided (either in-code or by mounting them into the /app/static/mail_templates folder).

The mail templates always come in a .html and a .txt variant to provide compatability with legacy mail clients. Currently the following templates exist:

  • pw-reset.(html/txt)

Generate Docs

yarn docs

Visual Studio Code

  • will be automatically recommended via ./vscode/extensions.json

ENV Vars

You can provide them via .env file or docker env vars. You can use the test:ci:generate_env package script to generate a example env.

Name | Type | Default | Description

  • | - | - | - APP_PORT | Number | 4010 | The port the backend server listens on. Is optional. DB_TYPE | String | N/A | The type of the db u want to use. It has to be supported by typeorm. Possible: sqlite, mysql, postgresql DB_HOST | String | N/A | The db's host's ip-address/fqdn or file path for sqlite DB_PORT | String | N/A | The db's port DB_USER | String | N/A | The user for accessing the db DB_PASSWORD | String | N/A | The user's password for accessing the db DB_NAME | String | N/A | The db's name NODE_ENV | String | dev | The apps env - influences debug info. POSTALCODE_COUNTRYCODE | String/CountryCode | N/A | The countrycode used to validate address's postal codes PHONE_COUNTRYCODE | String/CountryCode | null (international) | The countrycode used to validate phone numers SEED_TEST_DATA | Boolean | False | If you want the app to seed some example data set this to true MAIL_SERVER | String | N/A | The smtp server's ip-address/fqdn MAIL_PORT | String | N/A | The smtp server's port MAIL_USER | String | N/A | The username for sending mails MAIL_PASSWORD | String | N/A | The user's password for sending mails MAIL_FROM | String | N/A | The from-address for sending mails

Staging

Branches & Tags

  • vX.Y.Z: Release tags created from the main branch
    • The version numbers follow the semver standard
    • A new release tag automaticly triggers the release ci pipeline
  • main: Protected "release" branch
    • The latest tag of the docker image get's build from this
    • New releases get created as tags from this
  • dev: Current dev branch for merging the different feature branches and bugfixes
    • The dev tag of the docker image get's build from this
    • Only push minor changes to this branch!
    • To merge a feature branch into this please create a pull request
  • feature/xyz: Feature branches - nameing scheme: feature/issueid-title
  • bugfix/xyz: Branches for bugfixes - nameing scheme:bugfix/issueid-title
Description
Backend Server
Readme CC-BY-NC-SA-4.0 5.9 MiB
2021-04-22 18:25:13 +00:00
Languages
JavaScript 56.2%
TypeScript 34.4%
CSS 9%
HTML 0.3%