Skip to content

Latest commit

 

History

History
289 lines (216 loc) · 9.54 KB

File metadata and controls

289 lines (216 loc) · 9.54 KB

Contributors Forks Stargazers Issues License


Cayeshni logo

Cayeshni

A full‑stack expense splitting and group settlement platform.
📚 Explore the Docs »

🎬 Demo Video  ·  🐛 Report Bug  ·  ✨ Request Feature


Frontend Backend


📑 Table of Contents
  1. About The Project
  2. Tech Stack
  3. Demo & Live Deployment
  4. Getting Started
  5. Features
  6. Roadmap
  7. Contributing
  8. License

📋 About The Project

Cayeshni is a secure full-stack platform for splitting expenses, managing group balances, and settling shared payments.

Core capabilities:

  • Authentication and identity management
  • Group creation and invite-based membership
  • Transactions, balances, and settlements
  • Friend management and notifications
  • File uploads with cloud storage

🛠️ Tech Stack

Backend

aspnet postgres jwt xunit

Frontend

nextjs typescript tailwind

DevOps & Infrastructure

docker ghactions

Deployment

Frontend Backend Database Storage


🎬 Demo & Live Deployment

🌐 Live URLs

Service URL
🖥️ Frontend cayeshni-app.vercel.app
⚙️ Backend API cayeshni-production.up.railway.app
🏥 Health Check /health

Demo video coming soon.

Screenshots

Screenshots coming soon.


🚀 Getting Started

Prerequisites

  • .NET SDK (net10.0)
  • Node.js 20+
  • Docker Desktop (recommended)
  • PostgreSQL (if running backend without Docker)

Installation

1. Environment configuration

Create a .env file at the repository root. Copy .env.example and update secrets and connection settings.

2. Run with Docker (recommended)

docker compose up --build

The stack exposes:

Service URL
API http://localhost:8080
Web http://localhost:3000
PostgreSQL localhost:5432

3. Run locally (without Docker)

Backend:

cd backend
dotnet restore
dotnet run --project Cayeshni.API

Frontend:

cd frontend
npm install
npm run dev

Database Migrations

Helper scripts are available in the backend/ folder:

# PowerShell
./create-migration.ps1

# Bash
./create-migration.sh

API Documentation

When running in Development mode, the API exposes:

Interface URL
OpenAPI JSON http://localhost:8080/openapi/v1.json
Scalar UI http://localhost:8080/scalar/v1
Swagger UI http://localhost:8080/swagger

✨ Features

Detailed documentation for each feature lives in docs/features/:

Feature Description
🔐 Authentication & Identity Secure login, registration, and token management
👤 User Management Profile management and settings
👥 Groups Create groups, invite members, manage membership
🤝 Friends Send and manage friend connections
💸 Transactions Add, split, and track shared expenses
🏦 Settlements Calculate and settle balances between members
📊 Dashboard Overview of balances, activity, and summaries

🗺️ Roadmap

  • Core authentication and identity management
  • Group and transaction management
  • Settlement calculations and automation
  • Cloud file storage with Cloudinary
  • Containerized deployment with Docker
  • CI/CD with GitHub Actions and Semantic Release
  • Mobile app support
  • Real-time notifications
  • Advanced analytics and reporting
  • Multi-currency support

See the open issues for a full list of planned features and known bugs.


🤝 Contributing

Contributions, issues, and feature requests are welcome!

Check the issues page to get started, or read the full contributing guide.

Contributors

Contributors

⭐ Show Your Support

If this project helped you, please give it a star! It helps us reach more people.


📄 License

This project is still under active development. License terms have not been finalized yet.

↑ Back to top