GeminiAPI Competition-Team1
SmartMoney is an advanced and comprehensive financial management tool meticulously crafted to empower users in taking full control of their financial well-being. With Gemini API integration, SmartMoney stands out as a robust solution that seamlessly integrates sophisticated financial analytics with user-friendly and intuitive interfaces.
-
Health Score Calculator: We analyse users' financial data and calculate a personalised health score using the Gemini API, providing a clear picture of their financial well-being.
-
Wallet: Track your daily transactions effortlessly with the Wallet option, and receive personalised recommendations through the Gemini API whenever you update a log.
-
Graphs: Visualise your daily expenses with interactive graphs right on your dashboard, providing a clear and intuitive overview of your spending patterns.
-
ChatBot: Ask your financial questions here and engage in intuitive discussions about your financial goals. Receive tailored recommendations to help you make the best decisions for your financial future.
-
Recommendations: We provide long-term recommendations based on your financial goals and historical data, helping you make informed decisions for sustainable financial growth.
By bringing all financial elements together in one cohesive platform, SmartMoney provides a truly comprehensive solution for managing and planning personal finances. Users can confidently take control of their financial well-being with SmartMoney, making it an essential tool for anyone looking to optimize their financial future.
This section highlights the key frameworks and libraries that were utilized to build and power our project.
Install Node.js v14.17.0 or higher, npm v7.10.0 or higher, and Git.
git clone https://github.com/legend4137/SmartMoney.git
cd SmartMoney
Follow these steps to set up the necessary databases and environment variables for the project.
- Log in to the Firebase console.
- Create a new project or use an existing one.
- Navigate to the Firestore Database section.
- Create a new database and name it
formSubmissions
. - In the Firebase console, go to Project Settings > Service Accounts.
- Click on Generate new private key to download a JSON file containing your Firebase credentials.
- Place this JSON file in your
.env
file.
- Set up a MongoDB cluster using MongoDB Atlas or run a local MongoDB server.
- Create a database named
test
. - Inside the
test
database, create a collection calledwallets
. - Obtain your MongoDB connection string (API key).
- Add the MongoDB connection string to the
.env
file with the variable nameMONGODB_KEY
.
- Register on the Gemini platform and create a new API key.
- Add the Gemini API key to the
.env
file with the variable nameGEMINI_API_KEY
.
-
Create a
.env
file in the server folder of your project. -
Add the JSON file that you downloaded earlier and the following environment variables to the
.env
file:SERVICE_ACCOUNT_KEY = `{ "type": "service_account", "project_id": "project_id", "private_key_id": "private_key_id", "private_key": "private_key" "client_email": "client_email", "client_id": "client_id", "auth_uri": "auth_uri", "token_uri": "toekn_uri", "auth_provider_x509_cert_url": "auth_provider", "client_x509_cert_url": "client_cert_url", "universe_domain": "googleapis.com" }` MONGODB_KEY = "mongo_uri" GEMINI_API_KEY="your_gemini_api_key" JWT_SECRET=CHAD_RAID_2024
- Ensure the
.env
file is included in the server folder. - Important: Do not commit the
.env
file to version control to keep your API keys secure.
# SmartMoney/client
npm install
# SmartMoney/server
npm install
# SmartMoney/client
npm start
# SmartMoney/server
npm run start