Go to file
Yadunand Prem 2e1072fa0f
feat: add better-auth integration
- Set up basic better-auth configuration
- Implement auth controller with route handling
- Create authentication middleware
- Update TypeScript types for better compatibility
- Update Drizzle ORM to latest version (0.43.1)
- Add @hono/zod-validator for request validation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-27 22:02:19 -04:00
backend feat: add better-auth integration 2025-05-27 22:02:19 -04:00
docs feat: initial backend setup with Bun, Hono, and Drizzle ORM 2025-05-27 17:38:50 -04:00
.gitignore feat: add devenv 2025-05-27 17:13:17 -04:00
CLAUDE.md fix: update schema to fix multiple primary key issues and switch to node-postgres 2025-05-27 18:01:40 -04:00
devenv.lock feat: add devenv 2025-05-27 17:13:17 -04:00
devenv.nix feat: add devenv 2025-05-27 17:13:17 -04:00
devenv.yaml feat: add devenv 2025-05-27 17:13:17 -04:00
docker-compose.yml fix: update schema to fix multiple primary key issues and switch to node-postgres 2025-05-27 18:01:40 -04:00
README.md fix: update schema to fix multiple primary key issues and switch to node-postgres 2025-05-27 18:01:40 -04:00

Splitwise Application

A Splitwise-style expense-splitting application with double-entry bookkeeping and multi-currency support.

Getting Started with Docker

The application is containerized using Docker, making it easy to set up and run locally.

Prerequisites

  • Docker
  • Docker Compose

Running the Application

  1. Clone the repository:

    git clone <repository-url>
    cd splitwise
    
  2. Start the database and backend services:

    docker-compose up -d
    
  3. Generate and run database migrations:

    # Generate migrations from schema
    docker-compose run backend bun run db:generate
    
    # Run migrations
    docker-compose run --profile migration migration
    
  4. Access the application:

Useful Commands

Start specific services:

# Start only the database
docker-compose up -d postgres

# Start Drizzle Studio for database management
docker-compose --profile studio up drizzle-studio

# Run migrations
docker-compose --profile migration up migration

View logs:

# All services
docker-compose logs -f

# Specific service
docker-compose logs -f backend

Rebuild containers:

docker-compose build

Stop all services:

docker-compose down

Reset everything (including database volume):

docker-compose down -v

Development

Project Structure

  • /backend - Backend API built with Bun, Hono, and Drizzle ORM
  • /frontend - Frontend application (to be implemented)
  • /docs - Project documentation

Tech Stack

Backend

  • Runtime: Bun
  • Framework: Hono (TypeScript-first web framework)
  • Database: PostgreSQL
  • ORM: Drizzle
  • Authentication: better-auth
  • Validation: Zod

Frontend (planned)

  • Framework: React with TypeScript
  • Build Tool: Vite
  • Styling: TailwindCSS with Shadcn UI
  • State Management: Zustand
  • Data Fetching: TanStack Query