Skip to content

mdanieltg/Splitly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Splitly

Splitly – a real‑time web app for fair restaurant bill splitting with tip distribution, built in ASP.NET Core and React.


🚀 Features

  • Create and join temporary bill sessions (persisted for one week).
  • Assign receipt items to diners, with support for shared items via percentage splits.
  • Apply tips proportionally or evenly across all diners.
  • Real‑time collaboration powered by SignalR.
  • Relational database with EF Core for reliable storage and queries.

🛠️ Tech Stack

  • Backend: ASP.NET Core (C#), Entity Framework Core, SignalR
  • Frontend: React
  • Database: PostgreSQL
  • Real‑Time: WebSockets via SignalR

📂 Project Structure

  • Controllers/ – API endpoints
  • Hubs/ – SignalR hubs for live updates
  • Entities/ – EF Core models
  • Services/ – Business logic (bill calculation, session management)
  • Data/ – DbContext and migrations

⚙️ Getting Started

  1. Clone the repository:
    git clone https://github.com/yourusername/splitly.git
  2. Navigate to the backend project and install dependencies:
    cd Splitly.Api
    dotnet restore
  3. Apply migrations and update the database:
    dotnet ef database update
  4. Run the backend:
    dotnet run
  5. Navigate to the frontend project and install dependencies:
    cd splitly-frontend
    npm install
    npm start

📖 API Overview

  • POST /sessions – create a new session
  • GET /sessions/{id} – retrieve session details
  • POST /sessions/{id}/items – add items
  • POST /sessions/{id}/assignments – assign items to diners
  • GET /sessions/{id}/summary – calculate totals per diner

🎨 Branding

  • Name: Splitly
  • Tagline: Fair bills, shared easily.

About

Splitly – a real‑time web app for fair restaurant bill splitting with tip distribution, built in ASP.NET Core and React.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors