Giter VIP home page Giter VIP logo

simplq-backend's Introduction

SimplQ Backend

Build Status

SimplQ is a completely web based queue management solution that anyone can use to create instant queues.

Development Envirmonment Setup Instructions

The project is written in Java, and deployed on AWS. These steps are to be followed when you are running the project for the first time.

  1. Install Java 11 and maven.
  2. Clone this project
  3. Build the jar:
mvn package
  1. Run a development DB server:
docker run --name simplq-db -p 5432:5432 -e POSTGRES_PASSWORD=password -e POSTGRES_USER=admin -e POSTGRES_DB=simplq -d postgres
  1. Run the jar:
java -jar simplq/target/simplq-0.0.1-SNAPSHOT.jar 

We follow Google's Java Style Guidelines. For Intellij, you can install the google-java-format plugin, Eclipse and other IDE users can find more instructions here.

Testing locally

Test APIs through Postman - A test postman collection is available here.

Run Integration Tests:

mvn test

Running in production

Generate the jar:

mvn package

By default, the jar uses an in-memory H2 database. This is for development purposes only, and so for a production setup, set up a postgres DB and pass the DB connection parameters as environment variables:

export DB_USERNAME=<user-name>
export DB_PASSWORD=<password>
export DB_URL=jdbc:postgresql://<host>:<port>/<db>
export TOKEN_URL=<base-token-url>
java -Dspring.profiles.active=prod -jar simplq/target/simplq-0.0.1-SNAPSHOT.jar 

We use Liquidbase for DB migrations. To run migrations:

mvn liquibase:update -Ddb.username=<username> -Ddb.password=<password> -Ddb.url=jdbc:postgresql://<host>:<port>/<db>

Contributing

Feel free to fork and improve, and do send a pull request. We will be delighed to work with you.

simplq-backend's People

Contributors

daltonfury42 avatar thehamzarocks avatar sajmalyousef avatar chalx avatar dhirenmathur avatar pavan541cs avatar lanemets avatar raima-zachariah avatar farisshajahan avatar jasper-vandemalle avatar nirmalkv avatar navaneeth-spotnana avatar maaverik avatar sijinpavithran avatar avinashkris9 avatar muneefs avatar nikita-tyagi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.