Refueling log and expense tracker. This application is based on Express NodeJS backend and React frontend. Whole application is written in typescript/javascript.
(required docker and docker compose)
- run
./build-images.sh
- run
docker compose up -d
- check if backend is running on http://localhost/api/health
- open frontend at http://localhost/
- email dev server avalaible on http://localhost:8082
- postgres database on port 5432
(required docker, docker compose 2 and Node.js 18)
- enviroments variables for local development are set up in
backend/.env
file
- run
./build-images.sh
cd backend
docker compose up -d
to run database, mail server and pgadmin- email dev server avalaible on http://localhost:8082
- postgres database on port 5432
npm install
npm run start:dev
- check if backend is running on http://localhost:3000/api/health
(required docker, docker compose 2 and Node.js 18)
- run
./build-images.sh
cd frontend
docker compose up -d
- check if backend is running on http://localhost:8080/api/health
- Openapi 3.0 specification available on http://localhost:8080/api/api-docs
- email dev server avalaible on http://localhost:8082
- postgres database on port 5432
npm install
npm run start
- check if frontend is running on http://localhost:3000
- backend /api/health and /api/api-docs should be available on port 3000 while frontend is running
- to shutdown backend server run
docker compose down
in frontend directory
Backend: Libraries are listed in file backend/LIBRARIES
Frontend: Libraries are listed in file frontend/LIBRARIES
If added new dependencies, list of used libraries can be updated using this script
./generateLibrariesNotice.sh
WHILE RUNNING IT WILL INSTANLL GLOBALLY license-report
LIBRARY
test/Test1234
Name | Type of value | Default | Required | Description |
---|---|---|---|---|
NODE_ENV | string | Environment 'development' or 'production' | ||
PORT | number | 3000 | Port where backend api will run | |
BASE_PATH | string | /api | Base path of api | |
TOKEN_SIGN_KEY | string | true | Secrete or private key | |
TOKEN_EXPIRES_IN | string | 1h | Length of token validity 1m, 1h, 1d | |
REFRESH_TOKEN_EXPIRES_IN | string | 30d | Length of refresh token validity 1m, 1h, 1d ... | |
DATABASE_PASSWORD | string | true | Password to database | |
DATABASE_USER | string | true | Username to database | |
DATABASE | string | true | Name of database | |
DATABASE_HOST | string | true | Host of database | |
DATABASE_PORT | number | 5432 | Port of database | |
DATABASE_LOGGING | boolean | true | If sequelize should log generated queries | |
EMAIL_HOST | string | true | Host of mail server | |
EMAIL_PORT | number | 587 | Port of mail server | |
EMAIL_USER | string | Username to mail server | ||
EMAIL_PASS | string | Password to mail server | ||
EMAIL_FROM | string | true | Sender email address displayed in emails as from | |
EMAIL_SECURE | boolean | false | It TLS should be used | |
RESET_URL | string | http://localhost:3000/reset/ | Url in emal for reseting password | |
RESET_LINK_VALIDITY | number | 12 | Hours how long is reset link valid | |
CONFIRM_URL | string | http://localhost:3000/confirm/ | Url in emal for confirming registration | |
REGISTRATION_ENABLED | boolean | false | Enable posibility to register new users |
Name | Type of value | Default | Required | Description |
---|---|---|---|---|
BASE_API_URL | string | /api | Base url to backend api |