Giter VIP home page Giter VIP logo

finex's Introduction


Problem Statement

Personal finance tools are very segmented and can be difficult to navigate. We want to create an easy-to-use tool which allows the user to track various aspects of personal finance. This will be different from existing or similar services due to its navigable UI as well as its combination of existing services into one application. It will also attempt to further the public’s financial literacy through the use of pictorial representations and other devices to help those who may not understand financial terms used in other, similar products.

This project is hosted here

Project Objectives

  • Build a website which will be able to provide a dashboard to manage personal finances and view stock portfolio
  • Create user profiles for storing personal information and data on personal finances
  • Maintain a backend service to facilitate communication from the application and database
  • Develop a system to manage finances such as budgeting and expense report
  • Develop a system to view stock information and alert users of changes

The Team

Hugh Bromund

Peyton Williams

Aditya Naik

Daniel Joseph

Nathan Ashta

Niyati Sriram

Local Installation

  1. Clone the repo
  2. ./install.sh
  3. npm run start
  4. Open Google Chrome without CORS enforcement
    • Windows: "[PATH_TO_CHROME]\chrome.exe" --disable-web-security --disable-gpu --user-data-dir=~/chromeTemp
    • OSX: open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_test" --disable-web-security
    • Linux: google-chrome --disable-web-security
  5. Navigate to localhost:3000

Structure

FINEX is currently hosted on Google App Engine and built in React on the frontend and NodeJS on the backend, with a MongoDB database and Amazon S3 storage bucket. We are structured as a thin-client application, with most tasks being completed on the backend and sent to the frontend via http request. We use the AlphaVantage API for our stock prices, which currently supports 120 requests per minute with an unlimited daily limit.

The backend is structured as follows:

  • database/models: mongoose schemas for all collections in the database, including user, budget, and transaction
  • Service: functions that call the database and return or update requested information
  • Controller: receives JSON objects from Services and returns them via http request to the frontend
  • Router: includes all http endpoints

The frontend is structured as follows:

  • src/components: all website pages
  • src/assets: all constant images used on the site
  • src/routing: all inter-page routing for the site

Features

  • Creating a user account with username, password, email ID and profile picture
  • Requesting an autogenerated password via email if user forgets password
  • Tracking specific stocks and saving them
  • Simulating buying and selling stocks
  • Creating a monthly budget and comparing that to actual spending via transactions
  • Customizing light/dark mode and color preferences
  • View and compare stock analytics, graphs, and information

Licensing

This project is MIT licensed

CS307 - Team 8

finex's People

Contributors

adityan9900 avatar dadeej avatar dependabot[bot] avatar hughbromund avatar nathanashta avatar niyativs avatar peytondwilliams avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.