Skip to content

splitly25/splitly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’ธ Splitly - Smart Expense Sharing Platform

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.

Splitly Banner

React Node.js MongoDB Socket.IO Naver AI

๐ŸŒŸ What Makes Splitly Special

  • ๐Ÿ‡ป๐Ÿ‡ณ 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

โœจ Key Features

๐ŸŽจ Beautiful User Experience

  • 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

๐Ÿ’ฐ Advanced Bill Splitting

  • 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

๐Ÿ‘ฅ Group Management

  • 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

๐Ÿ”” Real-time Notifications

  • 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

๐Ÿค– AI Integration

  • 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

๐Ÿ— Project Structure

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

๐Ÿ›  Tech Stack

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

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18 or higher
  • MongoDB 6.0 or higher
  • npm or yarn package manager

Installation

Install dependencies for both frontend and backend:

# Frontend
cd web
npm install

# Backend
cd api
npm install

Environment Setup

Backend (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-key

Frontend (web/.env):

VITE_API_ROOT=http://localhost:8017
VITE_WEBSITE_DOMAIN=http://localhost:5173

Running the Application

Frontend (http://localhost:5173):

cd web
npm run dev

Backend (http://localhost:8017):

cd api
npm run dev

๐Ÿ”Œ API Endpoints

Authentication

  • POST /api/v1/users/register - User registration
  • POST /api/v1/users/login - User login
  • POST /api/v1/users/logout - User logout

Bills

  • POST /api/v1/bills - Create new bill
  • GET /api/v1/bills/user/:userId - Get user's bills
  • GET /api/v1/bills/:billId - Get bill details
  • POST /api/v1/bills/scan - OCR bill scanning

Groups

  • POST /api/v1/groups - Create group
  • GET /api/v1/groups - Get all groups
  • GET /api/v1/groups/:groupId - Get group details

Notifications

  • GET /api/v1/notifications - Get user notifications
  • PUT /api/v1/notifications/:id/read - Mark as read

๐Ÿš€ Deployment

Development

# Backend
cd api && npm run dev

# Frontend (new terminal)
cd web && npm run dev

Production

# Build frontend
cd web && npm run build

# Start backend
cd api && npm start

๐Ÿ† Hackathon Achievement

This 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

๐Ÿ“„ Available Scripts

See individual README files in web/ and api/ directories for detailed scripts and development guides.

About

Bill Sharing App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages