Table of Contents
Finstant is a full-stack web application designed to empower investors by providing streamlined access to essential financial documents, without the clutter of short-term data. This platform not only facilitates efficient financial research but also allows users to manage and review their stock portfolios interactively.
To get a local copy up and running, follow these simple steps.
- Node.js: Download Node.js
- .NET Core SDK Download .NET Core
- Microsoft SQL Server Download SQL Server
- A free API key from https://site.financialmodelingprep.com/
Start by cloning the repository to your local machine:
git clone https://github.com/stolomeo/finstant.git
cd finstant
-
Setup User Secrets: This project uses user secrets to store sensitive data such as the database connection string, JWT signing key, and the Financial Modeling Prep API key
-
Navigate to the
api
directory:cd api
-
Initialize user secrets:
dotnet user-secrets init
-
Set the required secrets:
dotnet user-secrets set "DbPassword" "your_password" dotnet user-secrets set "JWT:SigningKey" "your_jwt_signing_key" dotnet user-secrets set "FMPKey" "your_fmp_api_key"
-
In your
api/appsettings.json
, update theConnectionStrings.DefaultConnection
to connect to your SQL server:"ConnectionStrings": { "DefaultConnection": "Server=localhost;Database=your_database;User Id=your_user;" }
-
-
Database Setup:
-
Update your database using Entity Framework migrations (ensure you have EF tool installed):
dotnet ef database update
-
-
Start the Server:
-
Run the server locally:
dotnet watch run
-
-
Install Dependencies:
-
Navigate to the
client
directory:cd client
-
Install packages:
npm install
-
-
Setup Environment Variables:
-
Create a
.env
filetouch .env
-
Add your FMP API key like so
VITE_FINANCIAL_MODELING_PREP_API_KEY=your_api_key
-
-
Start the App:
-
Run the server locally:
npm run dev
-
Distributed under the MIT License. See LICENSE.txt
for more information.
- ASP.NET Core documentation
- Entity Framework documentation hub
- Financial Modeling Prep API
- How to implement JWT authentication in ASP.NET Core
- Quickstart: Use Azure Data Studio to connect and query SQL Server
- React Hook Form
- React Router DOM
- Safe storage of app secrets in development in ASP.NET Core
- Tailwind CSS Cheat Sheet
- Vite