Git Product home page Git Product logo

ebaek / merrymoney Goto Github PK

View Code? Open in Web Editor NEW
28.0 1.0 3.0 24.34 MB

MerryMoney is a clone of Robinhood, which is a stock investment based app that enables users to engage in virtual market transactions reflected in real- time data.

Home Page: https://merrymoney.herokuapp.com

Ruby 25.01% JavaScript 55.89% CSS 15.51% HTML 3.59%
robinhood iex stock recharts data-visualization react redux ruby-on-rails

merrymoney's People

Contributors

ebaek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

merrymoney's Issues

UserAuth

Awesome job on this! Only a few stylistic tweaks:

  • on your login page, make the image and form each 50% of the window (see how Robinhood has theirs)
  • on splash,
    • remove all mentions of Robinhood and replace them with MerryMoney
    • remove all advertisements for features you won't implement (notifications, cash management, Robinhood Gold)
    • you don't need to have the entire disclaimer at the bottom of your page (up to you if you want to keep it though!)

Backend Routes

Really good work! A few things to remove:

companies routes:

  • remove companies#create since users can't create stocks

watchlists routes:

  • remove watchlists/:id/show since we won't work with single watchlist entities unless we're deleting

transactions routes:

  • remove transactions/:id/show since we won't need to get a single transaction at any given time

Let me know if you have any questions on this!

FE/BE Routes

Really great work on these! Just a few tweaks:

Backend Routes

companies routes:

  • remove companies#show since users can't create stocks

watchlists routes:

  • remove watchlists/:id/show since we won't work with single watchlist entities unless we're deleting

transactions routes:

  • remove transactions/:id/show since we won't need to get a single transaction at any given time

Frontend Routes

  • your user page looks like what the home page is for logged in users! Let's move this under the / frontend route and make a note that the home page is different when users are logged in vs. logged out

Sample State

Really good job on this! A few changes to make:

users slice:

  • add portfolio_value for each user
  • change watchlistIds to watchedCompanyIds; this will be an array of all the stocks/companies a user is watching

watchlists slice:

  • going off of the schema tweaks, watchlists will just be a join table between users and companies, so you can remove the watchlist slice on the front end. The watchedCompanyIds in the users slice of state will be all you need :)

companies slice:

  • Note: while the companies table in your db will not have much more information than the ticker, your front end state will hold the info you get from the third party api. This slice will have stuff like ceo, employees, etc at some point. No need to change this since our sample state CAN look like this at some point (let's say you returned a bunch of companies from your api/companies backend route, and just haven't fetched any company data from your third party api yet) but it's a good thing to be aware of

transactions slice:

  • Think about: if you choose to update your transactions table to have a column indicating whether a transaction is a buy or a sell, make sure to update this. If not, I'll assume all the transactions in the slice right now are sells

errors slice:

  • rename positionForm to transactionForm :)

Frontend Routes

Awesome work on these! Just one tweak to make:

/users/:userId page:

  • your user page looks like what the home page is for logged in users! Let's move this under the / frontend route and make a note that the home page is different when users are logged in vs. logged out

Schema

Great job on these! A couple of tweaks to make:

users table:

  • remove the username column since users aren't asked for a username upon signup
  • add portfolio_value so that you won't need to sum up all the transactions of a user to calculate this every time

watchlists table:

  • this table represents which stocks a user's watching, so we can remove the watchlists-companies joins table and just add a foreign key of company_id to the watchlists table. Let me know if you have questions on this!

transactions table:

  • need to indicate whether a given transaction is a buy or a sell. You can add a column of type bool (or string that contains true/false) that indicates that, or just have negative prices indicate buys, positive prices indicate sells. Up to you :)

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.