An app to demonstrate my understanding of System design in a real world scenario.
To run this application, you'll need
- Clone the repository using this command(in your Command Line)
git clone https://github.com/Comurule/demo-credit.git
- Go into the repository
cd demo-credit
-
Configure the environment variables(load the variables to the terminal) using the keys in the .env.sample file and provide the necessary details. ( You can also change the default values of the system configurations in
src/config/constants.ts
). -
start up the application with
(For Production)
npm install --omit=dev && npm run build && npm start
(For Development)
npm install && npm run dev
-
Check the port on the specified port on the env or 8000.
-
For tests, you can run the test scripts with
npm run test
NB: Ensure to pass in the savedBankDetails
, in src/config/test.variables.ts
, with the correct values for the tests to run successfully.
This can be gotten here.
-
In order to keep the system simple, some infrastructure was not introduced, such as cache and job queues. There are areas in the application that can utilise these infrastructure to optimize for request latency.
-
Some more tests can be added.
-
A notification service will be necessary to notify the user whenever the deposit and withrawal requests are settled.
Chibuike Umechukwu