A modern, full-stack expense sharing application that makes splitting bills with friends, family, and groups effortless. Built for the Naver AI Hackathon with Vietnamese localization and AI-powered features.
- ๐ป๐ณ Vietnamese Localized: Built specifically for Vietnamese users with complete language support
- ๐ค AI-Powered: Clova Studio integration for smart bill parsing and chatbot assistance
- โก Real-time: Live notifications and updates using Socket.IO
- ๐ฑ Responsive: Beautiful UI that works perfectly on mobile and desktop
- ๐งฎ Smart Calculations: Three different bill splitting methods with automatic calculations
- ๐ Award Winning: Developed for Naver AI Hackathon
- Stunning Landing Page: Animated hero section with rotating text and aurora background effects
- Modern Design: Clean, intuitive interface with Material-UI and Tailwind CSS
- Responsive Layout: Seamless experience across all devices
- 3 Splitting Methods:
- Equal Split: Automatically divide bills equally among all participants
- By Person: Manually specify exact amounts each person owes
- By Item: Allocate specific items to different participants
- Smart Calculations: Real-time amount validation and distribution
- OCR Integration: Scan receipts with AI to auto-populate bill details
- Payment Tracking: Monitor who paid and who still owes money
- Create & Manage Groups: Organize expenses by friend groups, family, roommates
- Member Permissions: Admin controls and member role management
- Group Statistics: Track total expenses and individual contributions
- Bill History: Complete audit trail of all group expenses
- Live Updates: Instant notifications for bill creation, updates, and payments
- Multi-device Sync: Notification state synchronized across all user devices
- Email Notifications: Backup email system for important updates
- Clova Studio Chatbot: Context-aware AI assistant for expense management help
- Smart OCR: Intelligent receipt scanning and data extraction
- Expense Categorization: AI-powered automatic expense category suggestions
splitly/
โโโ ๐ web/ # Frontend - React + Vite + Material-UI
โ โโโ ๐ src/
โ โ โโโ ๐ components/ # Reusable React components
โ โ โโโ ๐ pages/ # Page components and routing
โ โ โโโ ๐ redux/ # Redux store and slices
โ โ โโโ ๐ utils/ # Frontend utilities
โ โโโ ๐ README.md # Frontend documentation
โโโ ๐ api/ # Backend - Express.js + MongoDB
โ โโโ ๐ src/
โ โ โโโ ๐ controllers/ # API route controllers
โ โ โโโ ๐ models/ # MongoDB data models
โ โ โโโ ๐ services/ # Business logic layer
โ โ โโโ ๐ sockets/ # Socket.IO event handlers
โ โโโ ๐ README.md # Backend documentation
โโโ ๐ docs/ # Project documentation
โโโ ๐ README.md # This main project README
Frontend: React 19.1.1, Vite, Material-UI, Redux Toolkit, Tailwind CSS, Framer Motion Backend: Express.js 5.1.0, MongoDB 6.20, Socket.IO, JWT, Bcrypt External Services: Clova Studio (AI), Brevo (Email), MongoDB Atlas
- Node.js 18 or higher
- MongoDB 6.0 or higher
- npm or yarn package manager
Install dependencies for both frontend and backend:
# Frontend
cd web
npm install
# Backend
cd api
npm installBackend (api/.env):
PORT=8017
NODE_ENV=development
MONGODB_URI=mongodb://localhost:27017/splitly
DATABASE_NAME=splitly
ACCESS_JWT_SECRET_KEY=your-access-secret
REFRESH_JWT_SECRET_KEY=your-refresh-secret
WEBSITE_DOMAIN=http://localhost:5173
BREVO_API_KEY=your-brevo-api-key
CLOVA_STUDIO_API_KEY=your-clova-studio-keyFrontend (web/.env):
VITE_API_ROOT=http://localhost:8017
VITE_WEBSITE_DOMAIN=http://localhost:5173Frontend (http://localhost:5173):
cd web
npm run devBackend (http://localhost:8017):
cd api
npm run devPOST /api/v1/users/register- User registrationPOST /api/v1/users/login- User loginPOST /api/v1/users/logout- User logout
POST /api/v1/bills- Create new billGET /api/v1/bills/user/:userId- Get user's billsGET /api/v1/bills/:billId- Get bill detailsPOST /api/v1/bills/scan- OCR bill scanning
POST /api/v1/groups- Create groupGET /api/v1/groups- Get all groupsGET /api/v1/groups/:groupId- Get group details
GET /api/v1/notifications- Get user notificationsPUT /api/v1/notifications/:id/read- Mark as read
# Backend
cd api && npm run dev
# Frontend (new terminal)
cd web && npm run dev# Build frontend
cd web && npm run build
# Start backend
cd api && npm startThis project was developed for the Naver AI Hackathon showcasing:
- AI Integration with Naver's Clova Studio
- Vietnamese Market Focus
- Modern Technology Stack
- Real-world Application solving expense-sharing problems
See individual README files in web/ and api/ directories for detailed scripts and development guides.