Pennywise is a simple savings application inspired by my first saving platform, JetSeed. It allows users to manage their finances easily and securely.
- Account Management: Users can create and manage their savings accounts.
- Transactions:
- Users can transfer funds into their wallet.
- Users can receive funds into their wallet.
- Users can withdraw funds to their linked settlement accounts.
- Users can make internal transfers between Pennywise accounts (peer-to-peer).
- Programming Language: TypeScript
- Backend Framework: Express.js
- Database: MongoDB
- Queue: Redis
- Design Principles: Object-Oriented Programming (OOP), Dependency Injection
- Payment Provider: Flutterwave
Pennywise utilizes Postman for API documentation. You can access the Postman collection link to your Postman collection here to learn about the available API endpoints and their functionalities.
Follow these steps to set up the project locally:
-
Clone the repository
git clone https://github.com/TijanAyo/penny-wise.git
-
Navigate to the project directory
cd pennywise
-
Install the dependencies
yarn install
-
Set up environment variables
Create a .env file in the root directory and add your environment variables. Make use of `.env.example for reference
-
Run the application
Navigate to the
package.json
file for more start scripts# Runs the application in dev mode yarn start:dev
Please note that this server is hosted on a free instance, which means it will automatically spin down after 15 minutes of inactivity. To ensure the server is active, kindly hit the health endpoint before making any other requests. This will help confirm that the server is up and running.