Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/psuzn/play-deals-backend
Backend for Play Deals
https://github.com/psuzn/play-deals-backend
helm kotlin kubernates postgresql vertx vertx3
Last synced: 3 months ago
JSON representation
Backend for Play Deals
- Host: GitHub
- URL: https://github.com/psuzn/play-deals-backend
- Owner: psuzn
- License: gpl-3.0
- Created: 2023-07-08T14:03:20.000Z (over 1 year ago)
- Default Branch: develop
- Last Pushed: 2024-08-06T12:11:00.000Z (5 months ago)
- Last Synced: 2024-09-26T07:40:11.169Z (3 months ago)
- Topics: helm, kotlin, kubernates, postgresql, vertx, vertx3
- Language: Kotlin
- Homepage: https://github.com/psuzn/Play-Deals
- Size: 2.26 MB
- Stars: 9
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Play Deals
[![Static Badge](https://img.shields.io/badge/Android-black?logo=android&logoColor=white&color=%234889f5)](https://play.google.com/store/apps/details?id=me.sujanpoudel.playdeals)
[![Static Badge](https://img.shields.io/badge/IOS-grey?logo=apple)](https://github.com/psuzn/app-deals/releases/latest)
[![Static Badge](https://img.shields.io/badge/macOS-black?logo=apple)](https://github.com/psuzn/app-deals/releases/latest)
[![Static Badge](https://img.shields.io/badge/Windows-green?logo=windows&color=blue)](https://github.com/psuzn/app-deals/releases/latest)
[![Static Badge](https://img.shields.io/badge/Linux-white?logo=linux&logoColor=white&color=grey)](https://github.com/psuzn/app-deals/releases/latest)
![Static Badge](https://img.shields.io/badge/License-GPL--v3-brightgreen)
[![play-deals-backend 1.0 CI](https://github.com/psuzn/play-deals-backend/actions/workflows/ci.yaml/badge.svg)](https://github.com/psuzn/play-deals-backend/actions/workflows/ci.yaml)![Feature](./media/feature-graphic.jpeg)
| | |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------:|Play deals is a simple app that aggregates the paid apps that have ongoing deals and discounts, aka you can get the
paid apps free or with discount.# Play Deals
Play deals is a simple app to aggregate the paid apps that have ongoing deals and discounts.
This repo contains the codebase for the backend for the actual app. It acts as a place to persist the deals and a
place to add,validate the deals. This backend is built using [Eclipse Vert.x™](https://vertx.io/) and heavily makes use
of kotlin coroutines.## Development
### Running tests
```shell
./gradlew test
```### Configuration
Configuration can be done by passing environment variables listed below:
> Best way provide configuration to create a `.env` file with the environmental variables and either
> 1. run `just dev-run` from terminal, OR
> 2. Install [Envfile](https://plugins.jetbrains.com/plugin/7861-envfile) plugin for IntelliJ and run using IntelliJ| ENV_VAR | REQUIRED | DEFAULT | EXAMPLE | NOTES |
|-----------------------------------|----------|---------------|--------------|:-----------------------------------------------------------------------|
| `DB_HOST` | `Y` | | `localhost` | |
| `DB_USERNAME` | `Y` | | `whatever` | |
| `FIREBASE_ADMIN_AUTH_CREDENTIALS` | `Y` | | `whatever` | Firebase admin auth credentials |
| `FOREX_API_KEY` | `Y` | | `whatever` | Api key for [https://exchangeratesapi.io](https://exchangeratesapi.io) |
| `DB_PASSWORD` | `N` | `password` | `whatever` | |
| `DB_PORT` | `N` | `5432` | `6868` | |
| `DB_NAME` | `N` | `play_deals` | `whatever` | |
| `DB_POOL_SIZE` | `N` | `5` | `6` | |
| `ENV` | `N` | `PRODUCTION` | `PRODUCTION` | one of `PRODUCTION or DEVELOPMENT or TEST ` |
| `APP_PORT` | `N` | `8888` | `9999` | |
| `POSTGRES_IMAGE` | `N` | `postgres:14` | | Useful for testing new versions of postgres. Used only in test code |
| `DASHBOARD` | `N` | `true` | `false` | Whether to enable or not the Jobrunr dashboard |
| `DASHBOARD_USER` | `N` | `admin` | `whatever` | Jobrunr dashboard login credential |
| `DASHBOARD_PASS` | `N` | `admin` | `whatever` | Jobrunr dashboard login credential |
| `CORS` | `N` | `*` | `whatever` | origins allowed for CORS |## License
**GPL V3 License**
Copyright (c) 2023 Sujan Poudel