Starter Kit for Backend applications.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
For running this application you need to have NodeJs and NPM. We recommend to use NVM for managing Node.js versions. For NVM installation please refer to manual.
-
Install Docker. Visit official web site, choose your OS and follow instructions
-
Set up PostgreSQL via docker for more information visit this
- Pull Postgres docker image
docker pull postgres
- Run docker container
docker run -d --restart unless-stopped --name postgres --net host --hostname postgres -e POSTGRES_USER=typeground -e POSTGRES_PASSWORD=typeground -p 5432:5432 -v postgres_data:/var/lib/postgresql/data postgres
- Open psql shell
docker exec -it postgres psql -U postgres
- Create 'typeground' role
CREATE USER typeground WITH LOGIN PASSWORD 'typeground'; ALTER ROLE typeground WITH SUPERUSER;
- Create 'typeground' database
CREATE DATABASE typeground; GRANT ALL PRIVILEGES ON DATABASE typeground TO typeground;
-
Set up RabbitMQ via docker for more information visit this
- Pull RabbitMQ image from docker
docker pull rabbitmq
- Run docker container
docker run -d --restart unless-stopped --name rabbitmq --net host -v rabbitmq_data:/var/lib/rabbitmq -e RABBITMQ_DEFAULT_USER=typeground -e RABBITMQ_DEFAULT_PASS=typeground rabbitmq:3-management-alpine
- RabbitMQ management panel available here
-
Install dependencies
npm install
-
Run project
npm run start
npm run test
npm run clean
npm run tsc
node ./bin/www
// TODO: fill this
- Express.js - HTTP API framework
- TypeScript - Primary language
- DB Migrate - DB migration manager
- config - Configuration manager
- Typeorm - ORM for PostgreSQL
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the MIT License - see the LICENSE.txt file for details.
- Heavily inspired by Spring Framework