Rentman Clone

A full-stack clone of Rentman.io, a project-centric SaaS platform for rental and event industries.

Tech Stack

  • Backend: FastAPI (Python 3.12+), SQLAlchemy 2.0, SQLite/PostgreSQL, Redis, Celery
  • Frontend: React 19, TypeScript, Vite, Tailwind CSS, Radix UI, Zustand, React Query
  • Storage: MinIO (S3-compatible)
  • Deployment: Docker Compose, Coolify

Getting Started

Prerequisites

  • Docker & Docker Compose
  • Or Python 3.12+, Node.js 20+

Quick Start (Docker)

cp .env.example .env
# Edit .env if needed
make dev

This starts:

Local Development (without Docker)

Backend

cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp ../.env.example .env  # adjust DATABASE_URL if needed
uvicorn app.main:app --reload

Frontend

cd frontend
npm install
npm run dev

Project Structure

.
├── backend/          # FastAPI application
│   ├── app/
│   │   ├── main.py       # App entry point
│   │   ├── core/         # Config, security
│   │   ├── db/           # Database setup
│   │   ├── models/       # SQLAlchemy models
│   │   ├── schemas/      # Pydantic schemas
│   │   ├── api/          # API routes
│   │   └── services/     # Business logic
│   ├── alembic/          # Database migrations
│   └── requirements.txt
├── frontend/         # React application
│   ├── src/
│   │   ├── components/   # Shared UI components
│   │   ├── pages/        # Page components
│   │   ├── stores/       # Zustand stores
│   │   ├── hooks/        # Custom hooks
│   │   └── lib/          # Utilities
│   └── package.json
├── docker-compose.yml
├── Makefile
└── .env.example

Environment Variables

See .env.example for all required variables. Key ones:

Variable Description
DATABASE_URL Database connection string (SQLite for dev)
JWT_SECRET_KEY Secret for signing JWT tokens
REDIS_URL Redis connection URL
MINIO_ACCESS_KEY / MINIO_SECRET_KEY MinIO credentials
CORS_ORIGINS Allowed origins for CORS

Available Scripts

make dev              # Start all services
make install-backend  # Install Python dependencies
make install-frontend # Install npm dependencies
make migrate          # Run database migrations
make create-migration MSG="description"  # Create new migration
make clean            # Clean cache files

API Documentation

Once the backend is running, visit:

License

MIT

S
Description
Rentman-Clone: Open-Source Event- & Equipment-Rental-Management (Clone von Rentman)
Readme 259 KiB
Languages
TypeScript 52.4%
Python 46.7%
Makefile 0.3%
Dockerfile 0.2%
CSS 0.2%
Other 0.1%