TritonSpend is an intelligent finance management application designed specifically for UC San Diego students. Built with modern web technologies and powered by AI, it helps students track budgets, analyze spending patterns, set financial goals, and access personalized financial guidance through an intelligent chatbot.
- Budget Tracking & Analytics: Monitor spending across customizable categories with real-time budget tracking
- Expense Categorization: Organize expenses into categories (Food, Shopping, Transportation, Subscriptions, Others) for better financial insights
- Financial Goals Management: Set, track, and manage financial goals with target dates and progress monitoring
- Transaction History: Complete transaction management with add, view, and delete capabilities
- Visual Analytics: Interactive pie charts and spending visualizations to understand spending patterns
- User Authentication: Secure Google OAuth integration for seamless login
- Responsive Design: Mobile-first React Native interface optimized for student use
- π€ AI Finance Chatbot: Intelligent financial advisor powered by LangChain and Gemini/OpenAI
- π Enhanced Security: End-to-end encryption, audit logging, and privacy controls
- π Advanced Analytics: Time-based trends, income vs expense charts, goal completion timelines
- π Student Resource Hub: CalFresh information, scholarship links, UCSD financial aid resources
- π¨ Personalized Experience: Custom dashboards, theme switching, and preference-based UI
- π± Cross-Platform: Full iOS and Android support with TestFlight and Play Store distribution
- Framework: React Native with Expo
- Language: TypeScript
- Navigation: Expo Router
- UI Components: Custom components with React Native
- Charts: React Native SVG for data visualization
- State Management: React Context API
- Authentication: Google OAuth integration
- Runtime: Node.js with Express.js
- Language: TypeScript
- Database: PostgreSQL with advanced triggers and functions
- Authentication: Passport.js with Google OAuth 2.0
- Validation: Express Validator
- Session Management: Express Session
- File Upload: Multer
- Users: Profile management with budget tracking
- Categories: Customizable spending categories with budget limits
- Transactions: Complete transaction history with automatic categorization
- Goals: Financial goal setting and tracking
- Triggers: Automated expense recalculation and category management
- Node.js v18.20.4 (recommended)
- PostgreSQL
- Git
- Expo CLI (for mobile development)
-
Clone the repository
git clone https://github.com/CSES-Open-Source/TritonSpend.git cd TritonSpend -
Install dependencies
# Backend dependencies cd backend npm install # Frontend dependencies cd ../frontend npm install
-
Set up the database
cd backend npm run setup-db -
Configure environment variables
- Create
.envfiles in bothbackend/andfrontend/directories - Add your Google OAuth credentials and database connection strings
- Create
-
Run the application
# Start backend server cd backend npm start # Start frontend (in new terminal) cd frontend npm start
We welcome contributions from the UCSD community and beyond! Please see our CONTRIBUTING.md for detailed guidelines on:
- Setting up your development environment
- Code style and standards
- Submitting pull requests
- Reporting bugs and suggesting features
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test thoroughly
- Run linting:
npm run lint-check - Commit your changes:
git commit -m 'Add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request
TritonSpend/
βββ backend/ # Node.js/Express API
β βββ src/
β β βββ controllers/ # API route handlers
β β βββ models/ # Data models
β β βββ routes/ # API routes
β β βββ db/ # Database configuration
β β βββ util/ # Utility functions
β βββ package.json
βββ frontend/ # React Native mobile app
β βββ app/ # Expo Router pages
β βββ components/ # Reusable UI components
β βββ context/ # React Context providers
β βββ package.json
βββ docs/ # Documentation
- Engineering Managers: Himansi Gupta, Vedant Vardhaan
- Product Manager: Sharvari Thekkate
- 5 Full-Stack Developers
- 2 UI/UX Designers
This project is licensed under the MIT License - see the LICENSE file for details.
For questions, issues, or collaboration opportunities:
- Maintainer: Vedant Vardhaan (vvardhaan@ucsd.edu), Himansi Gupta (h4gupta@ucsd.edu)
- Organization: UC San Diego CSES (cses@ucsd.edu)
- GitHub: CSES-Open-Source/TritonSpend