William Brawner
8e6454cb72
Convert ErrorResponse to Kotlin Convert TwigsServerApplication to Kotlin Convert BudgetController to Kotlin Convert CategoryController to Kotlin Convert UserController to Kotlin Convert TransactionController to Kotlin Convert Budget models to Kotlin Convert Category models to Kotlin Convert PasswordResetRequest models to Kotlin Convert Transaction models to Kotlin Convert user models to Kotlin Convert permission models to Kotlin Conver session models to Kotlin Finish Kotlin conversions Fix more Kotlin conversion issues Remove swagger Use Kotlin DSL for Gradle scripts Signed-off-by: William Brawner <me@wbrawner.com> Resolve some warnings Move source to src/main/kotlin Move source to src/main/kotlin |
||
---|---|---|
.github/workflows | ||
api | ||
gradle/wrapper | ||
.gitignore | ||
build.gradle.kts | ||
captain-definition | ||
docker-compose.yml | ||
Dockerfile | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
README.md | ||
settings.gradle.kts |
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