SimplQ is a completely web based queue management solution that anyone can use to create instant queues.
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.
- Install Java 11 and maven.
- Clone this project
- Build the jar:
mvn package
- 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
- 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.
Test APIs through Postman - A test postman collection is available here.
Run Integration Tests:
mvn test
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>
Feel free to fork and improve, and do send a pull request. We will be delighed to work with you.
There are a ton of features being planned. So if you are considering contributing to this repository, please first discuss the change you wish to make via the issue tracker. Let's work together.