A tool for tracking and analyzing the performance of a user's portfolio of investments. The tool should allow users to view their portfolio, see how their investments are performing over time, and get insights into the risks and returns associated with their portfolio. The tool should also allow users to add and remove investments from their portfolio and get real-time updates on the value of their portfolio.
- View portfolio summary and details
- Add and remove investments from the portfolio
- View real-time updates on the value of the portfolio
- Visualize the performance of investments over time
- Get insights into the risks and returns associated with the portfolio
- Node.js and npm
- Python 3.x
- A PostgreSQL or MongoDB database
-
Clone the repository:
git clone https://github.com/shahkv95/finflowX.git
-
Install the dependencies for the frontend:
cd finflowX/frontend npm install
-
Install the dependencies for the backend:
cd finflowX/backend pip install pipenv pipenv install
-
Set up the database:
- If using PostgreSQL:
- Create a database and user for the application
- Update the DATABASE_URL in the .env file with the connection string for the database
- If using MongoDB:
- Update the MONGO_URI in the .env file with the connection string for the database
- If using PostgreSQL:
- Start the backend server:
cd finflowX/backend pipenv run uvicorn main:app --reload
- Start the frontend server:
cd finflowX/frontend npm start
- Open a web browser and navigate to http://localhost:3000 to access the application.
The application can be deployed to a Kubernetes cluster using the provided Dockerfile and k8s.yaml files.
-
Build the Docker image:
cd finflowX docker build -t [IMAGE_NAME] .
-
Push the image to a Docker registry (such as Docker Hub):
docker push [IMAGE_NAME]
-
Update the image field in the k8s.yaml file with the full name of the image (including the registry).
-
Deploy the application to the Kubernetes cluster:
kubectl apply -f k8s.yaml
If you would like to contribute to the project, please follow these guidelines:
- Fork the repository and create a new branch for your changes
- Make your changes and test them thoroughly
- Commit your changes with descriptive commit messages
- Open a pull request and describe the changes you made
This project is licensed under the GNU GENERAL PUBLIC LICENSE License - see the LICENSE file for details.