Skip to content

Sahil-2101/FinTech-FLAMES

Repository files navigation

FinTech-FLAMES

This is the main branch of FinTech-Flames Learn-To-Bank simulation website

Table of Contents

  1. Project Overview
  2. Demo
  3. Features
  4. Documentation
  5. Installation Guide
  6. Changelog
  7. Deployment

Project Overview

Description of Key Classes

(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)

Database Structure

Demo

Link to the website: https://learn-to-bank.onrender.com

Features

Sprint 1: Basic Account Management and Setup

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)

Sprint 2: Simulated Banking and Transactions

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)

Sprint 3: Transaction History and Administration

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)

Sprint 4: User Assistance and Additional Features

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)

Documentation

Installation

To begin, please follow the steps below for installing Npm and Node and setting up the server and database:

Download Node and Npm

Download the latest version of Node from the official website. Download Here

Install Npm

Open the terminal and run the following command:

npm install

Install Npm

On the terminal run the following command:

npm install express --save

Install React Router

For this project the router dependency needs to be installed. On the terminal run the following command:

npm install react-router-dom

Install MongoDB

Download MongoDB from the official website. Download Here

Then install and run as a service Install Here

Additional Dependencies to install

If these dependencies are not installed on the machine, install them using these commands on terminal:

  1. Json Web Token
npm install jsonwebtoken
  1. Mongoose
npm install mongoose
  1. Cors
npm install cors
  1. Nodemailer
npm install nodemailer
  1. Speakeasy
npm install speakeasy
  1. Jest
npm install Jest

Start the app

To start the app do the following depending on the machine:

MacOS

Open up three terminal windows, for frontend, backend and database

Frontend

Make sure you are in the frontend directory

cd FinTech-FLAMES/Frontend

Run the frontend

npm start

Backend

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

Database

Run MongoDB:

mongod --dbpath ~/data/db

Optional if the above command does not work:

mkdir -p ~/data/db

Then run the first command again

Windows

Frontend

Open up a terminal and ensure it is located in the Frontend directory

cd FinTech-FLAMES/Frontend

Run the frontend

npm start

Backend

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

Database

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

Changelog

Changelog

Deployment

Deployment

About

IT Project Learn to Bank Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published