Skip to content

AISocietyIITJ/CHAD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CHAD

GeminiAPI Competition-Team1

SmartMoney

Overview

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.

SmartMoney

Features

  • 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.

Comprehensive Financial Management

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.

Built With

This section highlights the key frameworks and libraries that were utilized to build and power our project.

  • Node.js
  • Express.js
  • React
  • CSS
  • GeminiAPI
  • MongoDB
  • Firebase
  • JWS

How to Get Started

1. Prerequisites:

Install Node.js v14.17.0 or higher, npm v7.10.0 or higher, and Git.

2. Cloning the Repository:

git clone https://github.com/legend4137/SmartMoney.git
cd SmartMoney

3. Environment Setup:

Database Configuration

Follow these steps to set up the necessary databases and environment variables for the project.

1. Create a Firebase Database

  1. Log in to the Firebase console.
  2. Create a new project or use an existing one.
  3. Navigate to the Firestore Database section.
  4. Create a new database and name it formSubmissions.
  5. In the Firebase console, go to Project Settings > Service Accounts.
  6. Click on Generate new private key to download a JSON file containing your Firebase credentials.
  7. Place this JSON file in your .env file.

2. Create a MongoDB Database

  1. Set up a MongoDB cluster using MongoDB Atlas or run a local MongoDB server.
  2. Create a database named test.
  3. Inside the test database, create a collection called wallets.
  4. Obtain your MongoDB connection string (API key).
  5. Add the MongoDB connection string to the .env file with the variable name MONGODB_KEY.

3. Create a Gemini API Key

  1. Register on the Gemini platform and create a new API key.
  2. Add the Gemini API key to the .env file with the variable name GEMINI_API_KEY.

4. Setting Up the .env File

  1. Create a .env file in the server folder of your project.

  2. 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.

4. Installing Dependencies:

# SmartMoney/client
npm install 
# SmartMoney/server
npm install 

5. Running the Client:

# SmartMoney/client
npm start    

6. Running the Server:

# SmartMoney/server
npm run start