A possible backend implementation for the Budget apps on Android & iOS
Find a file
2021-08-05 19:35:42 -06:00
.github/workflows Add GitHub Action workflow to publish docker image 2021-02-25 17:28:51 -07:00
api Add user routes 2021-08-05 19:35:42 -06:00
app Add user routes 2021-08-05 19:35:42 -06:00
core Add user routes 2021-08-05 19:35:42 -06:00
gradle/wrapper Update gradle and kotlin versions 2021-07-05 19:05:25 -06:00
storage Add user routes 2021-08-05 19:35:42 -06:00
.gitignore Remove swagger 2021-03-31 20:21:16 -07:00
build.gradle.kts Rename api module to app 2021-07-28 18:49:48 -06:00
captain-definition Configure caprover deployments 2019-05-22 21:54:15 -07:00
docker-compose.yml Switch to OpenJ9 for container 2021-06-15 08:07:09 -06:00
Dockerfile Fix Docker builds 2021-06-20 13:30:46 -06:00
gradlew Migrate from JDK 8 -> 11 and use Gradle instead of Maven 2020-02-10 17:57:53 -07:00
gradlew.bat Migrate from JDK 8 -> 11 and use Gradle instead of Maven 2020-02-10 17:57:53 -07:00
LICENSE Add license 2019-10-03 15:24:43 -07:00
README.md Add README 2020-12-27 14:28:13 -07:00
settings.gradle.kts WIP: Migrate to Ktor 2021-07-29 10:40:22 -06:00

Twigs Server

This is the backend application that powers the Android, iOS, and web applications for Twigs, a personal finance/budgeting app.

Prerequisites

  • JDK 14 or newer
  • MySQL 5.7 or newer
  • (optional) Docker

Running

Prior to running the app, make sure you have a MySQL server running, with a database and user ready to go. To avoid the hassle of figuring out how to get it installed locally, using Docker is recommended, and a sample docker-compose.yml file is included in the root of the repository. If you already have a MySQL server running, you can run the app from the command line with gradle:

./gradlew bootRun

By default, twigs will try to connect to the budget database on localhost, using budget as the user and password. To change these values, you can modify the api/src/main/resources/application.properties file (but don't commit it!), or better yet, set the appropriate environment variables using the uppercase names and replacing the .s with _s. For example, to change the spring.datasource.username property (the database username), you could set the value in an environment variable called SPRING_DATASOURCE_USERNAME.

Building

Building the app is also handled with gradle:

./gradlew bootJar