You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A comprehensive community management platform for IndieHOY - Streamlining user subscriptions, discount requests, and member benefits with modern web technologies and automated workflows.
๐ Features
๐ฏ Core Functionality
๐ User Registration & Authentication - Secure member onboarding with email validation
๐ณ Subscription Management - Automated monthly billing with MercadoPago integration
๐ซ Discount Request System - Real-time show search with intelligent request processing
๐ Admin Dashboard - Comprehensive management interface with analytics
๐ฑ Responsive Design - Mobile-first approach optimized for all devices
โก Advanced Features
๐ค Automated Email System - Template-based notifications with delivery tracking
๐ Smart Show Search - Fuzzy matching with real-time availability updates
๐ Payment Tracking - Complete payment history with status monitoring
๐ก๏ธ Security First - Admin authentication with session management
๐ง SMTP Integration - Reliable email delivery with webhook confirmations
๐จ User Experience
โก Lightning Fast - Sub-second response times for all operations
๐ฏ Intuitive Interface - Clean, modern UI with Tailwind CSS
๐ Real-time Updates - Live status updates and notifications
๐ Automated Workflows - Streamlined approval and notification processes
๐๏ธ Architecture Overview
graph TB
subgraph "Frontend Layer"
A[Registration Page] --> B[Discount Requests]
B --> C[Admin Dashboard]
C --> D[User Management]
end
subgraph "API Layer"
E[FastAPI Backend] --> F[Authentication]
F --> G[User Management]
G --> H[Payment Processing]
H --> I[Email Service]
end
subgraph "Data Layer"
J[(SQLite Database)] --> K[Users]
K --> L[Shows]
L --> M[Payments]
M --> N[Supervision Queue]
end
A --> E
E --> J
subgraph "External Services"
O[MercadoPago API]
P[SMTP Service]
Q[Railway Hosting]
end
H --> O
I --> P
E --> Q
Loading
๐ System Requirements
Component
Requirement
Python
3.11+
Database
SQLite (production) / PostgreSQL (scalable)
Memory
512MB+ RAM
Storage
1GB+ available space
Network
HTTPS support for webhooks
โก Quick Start
๐ณ Docker Deployment (Recommended)
# Clone the repository
git clone https://github.com/rodrigo-ds4/IndieHoyCommunity.git
cd IndieHoyCommunity/backend
# Build and run with Docker
docker build -t indiehoy-community .
docker run -d -p 8000:8000 --name indiehoy-community indiehoy-community
๐ง Local Development
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
cp env.example .env
# Edit .env with your configuration# Initialize database
python populate_database.py
# Start development server
uvicorn main:app --reload --host 0.0.0.0 --port 8000
# Install Railway CLI
npm install -g @railway/cli
# Login and deploy
railway login
railway link
railway up
Docker Production
# Build production image
docker build -t indiehoy-community:latest .# Run with volume for data persistence
docker run -d \
-p 8000:8000 \
-v /path/to/data:/app/data \
--name indiehoy-production \
indiehoy-community:latest
Manual Deployment
# Install dependencies
pip install -r requirements.txt
# Set production environmentexport ENVIRONMENT=production
# Start with Gunicorn
gunicorn main:app -w 4 -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000
๐ Performance & Monitoring
Key Metrics
Response Time: < 200ms average
Uptime: 99.9% availability target
Throughput: 1000+ requests/minute
Database: Optimized queries with indexing
Health Checks
# System health
curl http://localhost:8000/health
# Database connectivity
curl http://localhost:8000/health/database
# Email service status
curl http://localhost:8000/health/email