Skip to content

dicodiaz/financial-modeling

Repository files navigation

📗 Table of Contents

📖 Financial Modeling

Financial Modeling is a SPA that shows up-to-date data about the stock market. It features a homepage, a routing page, and three details pages. The homepage displays a list of company stock symbols. When the user clicks on any company stock symbol, they get redirected to the routing page where they can choose what financial statements of the selected company to read about. When they click on any option, they get redirected to the respective details page, which displays relevant information about the chosen company's financial statements.

🗝️ Key Features

  • Consumes the Financial Modeling Prep API
  • Allows the user to search by company name or symbol
  • Allows the user to sort by symbol name or stock price
  • Allows the user to filter by stock exchange or stock type
  • Includes pagination given that there's information for more than 17000 stocks
  • Allows the user to select the page size
  • Implements typescript
  • Implements global state management with @reduxjs/toolkit
  • Implements routing with react-router-dom
  • Implements react-bootstrap's styled components
  • Uses axios for API data fetching
  • Includes vitest and @testing-library's unit tests

🛠️ Built With

Client

(back to top)

🚀 Live Demo

(back to top)

💻 Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

In order to run this project you need:

Setup

Clone this repository to your desired folder:

  cd my-folder
  git clone git@github.com:dicodiaz/financial-modeling.git

Install

Install this project with:

  cd financial-modeling
  pnpm install

Usage

To run the project, execute the following commands:

  pnpm dev

Run tests

To run tests, run the following command:

  pnpm test

Deployment

There's a CD pipeline set up to track the develop branch.

Please open a PR from your feature branch to develop in order to contribute.

(back to top)

👥 Authors

👤 Dico Diaz Dussan

(back to top)

🔭 Future Features

  • Increase unit test coverage
  • Add integration tests with Cypress

(back to top)

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

⭐️ Show your support

Give a ⭐️ if you like this project!

(back to top)

🙏 Acknowledgments

(back to top)

📝 License

This project is MIT licensed.

(back to top)