- Create a bank account
- View a bank account
- Deposit into a bank account
- Withdraw money from a bank account
- Transfer money between existing accounts
- Retrieve account audit logs
- Thread-safe account creation
- Thread-safe account mutation
- Persistence
To start a web server for the application, run:
$ lein ring server-headless
You can change the port being used by pre-pending the command with a PORT environmental variable such as
$ PORT=1234 lein ring server-headless
You can also run the function bank-api.core/start-server
in your repl if you prefer.
To confirm the server is up and running you should be able to run the command
$ curl localhost:3000/status
and get back the answer "OK".
To run tests simply call
$ lein test
This will run the unit tests as well as the concurrency tests. The concurrency tests are using a library called clj-gatling which will print some results to the terminal.