Skip to content

SWE-Project-Final-Team/Cayeshni

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

165 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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