Skip to content

Repository files navigation

🪙 Kuverra — Spare Change Auto-Invest

Turn every UPI transaction into a micro-investment. Kuverra rounds up your daily spends to the nearest ₹10 and automatically invests the difference — building wealth effortlessly, one chai at a time.

React TypeScript Node.js MongoDB TailwindCSS Vite


✨ Features

Feature Description
🔄 Auto Round-Ups Every transaction is rounded up (₹93 → ₹100), and ₹7 gets invested
📊 Live Dashboard Real-time portfolio tracking with interactive charts (Recharts)
📈 Stock Search Search & analyze Indian (NSE/BSE) and global stocks with live data
💼 Portfolio Management Custom allocation across equities, ETFs, and mutual funds
🔐 Secure Auth JWT-based authentication with encrypted data handling
🎨 Onboarding Flow Risk profiling, KYC simulation, and portfolio setup wizard
🌙 Dark Mode Premium dark-first UI with theme toggle support
📱 Responsive Design Optimized for desktop and mobile viewports

🛠️ Tech Stack

Frontend

  • React 18 + TypeScript — Component-driven UI
  • Vite — Lightning-fast dev server & build
  • Tailwind CSS + shadcn/ui — Utility-first styling with accessible components
  • Framer Motion + GSAP — Smooth animations & transitions
  • Recharts — Data visualization & interactive charts
  • React Router v6 — Client-side routing
  • TanStack Query — Server state management & caching

Backend

  • Node.js + Express — RESTful API server
  • MongoDB Atlas — Cloud-hosted NoSQL database
  • Mongoose — ODM for data modeling
  • JWT — Stateless authentication
  • Twelve Data API — Global stock market data (US, forex, crypto)
  • Yahoo Finance — Indian market data (NSE/BSE) — no API key required

📂 Project Structure

kuverra/
├── src/
│   ├── components/
│   │   ├── dashboard/       # Dashboard widgets & data cards
│   │   ├── kuverra/       # Landing page sections (Hero, CTA, etc.)
│   │   └── ui/              # shadcn/ui component library
│   ├── hooks/               # Custom React hooks (useMarketData, etc.)
│   ├── lib/                 # API client & utilities
│   ├── pages/               # Route-level page components
│   │   ├── Dashboard.tsx
│   │   ├── StockSearch.tsx
│   │   ├── Portfolio.tsx
│   │   ├── Transactions.tsx
│   │   ├── Login.tsx
│   │   ├── Signup.tsx
│   │   └── Onboarding.tsx
│   └── test/                # Unit & integration tests
├── server/
│   └── src/
│       ├── models/          # Mongoose schemas (User, Transaction, Portfolio)
│       ├── routes/          # API endpoints (auth, market, dashboard, etc.)
│       ├── services/        # Market data services (Twelve Data, Yahoo Finance)
│       ├── middleware/       # Auth guards & request validation
│       └── utils/           # Helpers & config
├── public/                  # Static assets
└── index.html               # Entry point

🚀 Getting Started

Prerequisites

  • Node.js ≥ 18.x
  • npm or bun
  • MongoDB Atlas account (free tier works)

1. Clone the repo

git clone https://github.com/Unknown-user-555/Kuverra.git
cd Kuverra

2. Install dependencies

# Frontend
npm install

# Backend
cd server && npm install && cd ..

3. Configure environment variables

Create server/.env:

MONGO_URI=mongodb+srv://your-connection-string
JWT_SECRET=your_jwt_secret
PORT=5000

# Twelve Data (optional — for global stocks)
TWELVEDATA_API_KEY=your_api_key
TWELVEDATA_BASE_URL=https://api.twelvedata.com
TWELVEDATA_MAX_PER_MINUTE=8

Create .env in root (optional):

VITE_API_BASE_URL=http://localhost:5000/api

4. Run the app

# Terminal 1 — Backend
cd server && npx tsx src/index.ts

# Terminal 2 — Frontend
npm run dev

Open http://localhost:5173 in your browser.


🧪 Testing

# Run unit tests
npm test

# Run tests in watch mode
npm run test:watch

📡 API Endpoints

Method Endpoint Description
POST /api/auth/signup Register a new user
POST /api/auth/login Authenticate & get JWT
GET /api/dashboard Fetch dashboard summary
GET /api/transactions List user transactions
GET /api/portfolio Get portfolio allocations
GET /api/market/quote/:symbol Live stock quote
GET /api/market/search Search stocks by name/symbol
POST /api/roundups Record a round-up investment

🙋‍♀️ Author

Dishitaba Chudasama


📄 License

This project is open-source and available under the MIT License.

About

Spare Change Auto-Invest —> Turn every UPI transaction into a micro-investment

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages