Welcome to the Accounts Receivable system! This system is responsible for creating, sending, and tracking invoices sent to clients so we can be paid for our products and services.
This is the Java and Spring Boot edition of the Rails app: the same pages, resources, and behavior.
Before you get started, be sure to:
- Be running Java 21 (for example
brew install openjdk@21, or use SDKMAN) - Have a Java IDE you like
- Have a recent version of git installed (e.g.
brew install giton a Mac)
Gradle comes with the project through the wrapper; nothing else to install.
This is a conventional Spring Boot app, so you should be able to get up and running with:
$ ./gradlew build
If nothing blew up, you should be able to start the server:
$ ./gradlew bootRun
(Note that the first start creates the development database under db/ and
loads the app's seed data into it to help move things along.)
And then you should be able to see pre-generated invoices in a browser: http://localhost:8080/invoices
Run the tests with:
$ ./gradlew test
The database can be browsed at
http://localhost:8080/h2-console with the
JDBC URL from src/main/resources/application.properties.
| Rails | Here |
|---|---|
app/models |
src/main/java/.../model (JPA entities, Bean Validation) |
app/controllers |
src/main/java/.../controller |
app/helpers |
src/main/java/.../helper (beans the templates call) |
app/views |
src/main/resources/templates (Thymeleaf) |
db/seeds.rb |
src/main/java/.../Seeds.java |
spec/ |
src/test/java (JUnit 5, MockMvc, Factories) |