https://github.com/acmlira/awesome-bank-api
REST API to handle expenses and cash in/out of a bank account.
https://github.com/acmlira/awesome-bank-api
List: awesome-bank-api
docker docker-compose java rest-api restful spring
Last synced: 6 months ago
JSON representation
REST API to handle expenses and cash in/out of a bank account.
- Host: GitHub
- URL: https://github.com/acmlira/awesome-bank-api
- Owner: acmlira
- Created: 2022-09-22T01:05:19.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-09-26T11:57:07.000Z (almost 4 years ago)
- Last Synced: 2024-05-21T01:45:56.742Z (about 2 years ago)
- Topics: docker, docker-compose, java, rest-api, restful, spring
- Language: Java
- Homepage:
- Size: 31.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Awesome Bank API
REST API to handle expenses and cash in/out of a bank account.
> [awesome-bank-web](https://github.com/acmlira/awesome-bank-web) implements a client and frontend for this project.
## Goal
This project aims to provide the following requirements:
Model:
- Expense:
- ID
- Person name
- Description
- Date/time
- Value
- Tags
- Tag (_additional_):
- ID
- Code
Features:
- Create an expense
- List all expenses
- List an expense by ID
Non-functional:
- Persist in a relational database
## Getting Started
It is highly recommended to use:
```shell
docker-compose up
```
The [requests](/requests) folder has some examples of requests, you can execute them via Intellij in order to test.
## Troubleshooting
In order to make the development easy-understandable for everyone, I present to you some tips.
### Debug in IDE
1. Bring up Postgres container with:
```shell
docker-compose up postgres
```
2. Put some breakpoints and run in debug mode.
### Integration tests
1. Bring up Postgres container with:
```shell
docker-compose up postgres
```
2. Run integration tests with:
```shell
./mvnw verify
```
### No effect changes
Clean your docker environment (remove images, networks, containers, etc.).
## What can be improved?
I see some improvements:
- Automated integration tests (tradeoff)
- More business rules