Skip to content

A modern group expense sharing app built with Next.js — track, split, and settle your expenses with friends effortlessly.

License

Notifications You must be signed in to change notification settings

codEdu-Collective/split-smart

Repository files navigation

Split Smart

Split Smart is a modern full-stack application designed to simplify cost and responsibility sharing among teams or groups. Built with Next.js, it leverages server actions, Convex backend, and Clerk for authentication — offering a seamless and secure user experience.

🧑‍🤝‍🧑 Contributors


🚀 Features

  • ✨ Auth and user management via Clerk
  • 📊 Data visualization with Recharts
  • 🔁 Background jobs and workflows using Inngest
  • 📬 Email notifications powered by Resend
  • ☁️ Real-time database & backend via Convex
  • 🎨 Customizable UI with Tailwind CSS & Radix UI
  • ✅ Type-safe forms with React Hook Form and Zod
  • 🌗 Dark mode support via next-themes

🧱 Tech Stack

Category Tools/Libraries
Framework Next.js 15 (with Turbopack)
Database Convex
Auth Clerk
UI Tailwind CSS, Radix UI, Lucide Icons
Forms & Validations React Hook Form, Zod
Charts Recharts
Date Handling date-fns, react-day-picker
Email Resend
Async Events Inngest, Svix
Dev Tools Prettier, ESLint, TypeScript, PostCSS

📸 Screenshots / Demo

Homepage Login Page
User Dashboard Contacts and Groups
Group Details Settlements

🛠️ Getting Started

1. Clone the repository

git clone https://github.com/codEdu-Collective/split-smart.git
cd split-smart

2. Install dependencies

npm install

3. Set up environment variables

Create a .env.local file and define necessary environment variables (Clerk keys, Convex URL, Resend API, etc.):

CONVEX_DEPLOYMENT=
NEXT_PUBLIC_CONVEX_URL=
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
CLERK_JWT_ISSUER_DOMAIN=
RESEND_API_KEY=
GEMINI_API_KEY=

4. Start the development server

npm run dev

🧪 Available Commands

Script Description
npm run dev Start development server with Turbopack
npm run build Build the project for production
npm start Start production server
npm run lint Run ESLint to check for code issues
npm run check Check formatting with Prettier
npm run write Auto-format codebase with Prettier

📁 Project Structure (Simplified)

/
├── app
├── components
├── components.json
├── convex
├── eslint.config.mjs
├── hooks
├── lib
├── LICENSE
├── middleware.ts
├── new-env.d.ts
├── next.config.ts
├── next-env.d.ts
├── package.json
├── pnpm-lock.yaml
├── postcss.config.mjs
├── public
├── README.md
└── tsconfig.json

ERD Diagram

📝 License

MIT License © 2025 Split Smart Team


🤝 Acknowledgments

Thanks to all open-source libraries, frameworks, and tools that made Split Smart possible — especially:

About

A modern group expense sharing app built with Next.js — track, split, and settle your expenses with friends effortlessly.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 5