/typeground

Starter Kit for Backend applications

Primary LanguageTypeScriptMIT LicenseMIT

Type Ground

Starter Kit for Backend applications.

Getting Started

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.

Prerequisites

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.

Installing

  1. Install Docker. Visit official web site, choose your OS and follow instructions

  2. 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;
    
  3. 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
  4. Install dependencies

    npm install
    
  5. Run project

    npm run start
    

Running the tests

  • npm run test

Start Project with separated commands

  • npm run clean
  • npm run tsc
  • node ./bin/www

Deployment

// TODO: fill this

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the MIT License - see the LICENSE.txt file for details.

Acknowledgments