This is the main branch of FinTech-Flames Learn-To-Bank simulation website
(remove this line when you finish, create a read me in the front end talking about the structure of the code and then link it)
Link to the website: https://learn-to-bank.onrender.com
Goal: Implement fundamental account functionality, including signup, login, and basic account management.
- Epic 1: Sign-Up, Login, and Account Management
- User Story 1: As a user, I want to create an account to access the system. (High Priority)
- User Story 2: As a user, I want to log in and out of my account. (High Priority)
- User Story 3: As a user, I want the option to delete my own account at any time. (High Priority)
- User Story 4: As a user, I want to set up additional authenticators for security. (Low Priority)
- User Story 5: As a user, I want the ability to reset my password through email verification. (Low Priority)
Goal: Begin implementing core banking functions like balance viewing, payments, and notifications.
- Epic 2: Simulated Banking
- User Story 1: As a user, I want to view my updated account balance. (High Priority)
- User Story 2: As a user, I want to make payments to other users. (High Priority)
- User Story 3: As a user, I want to schedule payments for future dates. (High Priority)
- User Story 4: As a user, I want to earn interest on my savings account at intervals. (Medium Priority)
Goal: Build a feature for users to view and export transaction history and provide admin functionalities.
-
Epic 3: Transaction History
- User Story 1: As a user, I want to see my previous transactions. (Medium Priority)
- User Story 2: As a user, I want to export my transaction history as a PDF. (Medium Priority)
- User Story 3: As a user, I want to search for specific transactions. (Low Priority)
- User Story 4: As a user, I want to save accounts I’ve transacted with before. (Low Priority)
-
Epic 4: Administrative Rights
- User Story 1: As an admin, I want to delete non-administrative accounts. (Medium Priority)
- User Story 2: As an admin, I want to reactivate deactivated user accounts. (Medium Priority)
- User Story 3: As an admin, I want to manage other accounts’ funds. (Low Priority)
Goal: Introduce quality-of-life features and provide users with guidance and support.
- Epic 5: Extensions
- User Story 1: As a user, I want to interact with a ChatBot for immediate assistance. (Low Priority)
- User Story 2: As a user, I want instructions displayed on-screen to guide transactions. (Low Priority)
To begin, please follow the steps below for installing Npm and Node and setting up the server and database:
Download the latest version of Node from the official website. Download Here
Open the terminal and run the following command:
npm install
On the terminal run the following command:
npm install express --save
For this project the router dependency needs to be installed. On the terminal run the following command:
npm install react-router-dom
Download MongoDB from the official website. Download Here
Then install and run as a service Install Here
If these dependencies are not installed on the machine, install them using these commands on terminal:
- Json Web Token
npm install jsonwebtoken
- Mongoose
npm install mongoose
- Cors
npm install cors
- Nodemailer
npm install nodemailer
- Speakeasy
npm install speakeasy
- Jest
npm install Jest
To start the app do the following depending on the machine:
Open up three terminal windows, for frontend, backend and database
Make sure you are in the frontend directory
cd FinTech-FLAMES/Frontend
Run the frontend
npm start
Make sure you are in the frontend directory
cd FinTech-FLAMES/Backend
Run the backend
node server.js
Trouble shooting purpose only: If the above command doesn't work, run:
npm install bcrypt
and then the first command again
Run MongoDB:
mongod --dbpath ~/data/db
Optional if the above command does not work:
mkdir -p ~/data/db
Then run the first command again
Open up a terminal and ensure it is located in the Frontend directory
cd FinTech-FLAMES/Frontend
Run the frontend
npm start
Open up a terminal and ensure it is located in the Backend directory
cd FinTech-FLAMES/Backend
Run NodeJs for the backend in the terminal
node server.js
Run MongoDB:
mongod --port 27017 --dbpath "C:\MongoDB\data\db"
Optional if the above command does not work:
mkdir C:\data\db
Then run the first command again