This is the backend API for SUPAP (Sociedad Uruguaya de Psicoterapias Asistidas con Psicodélicos), supporting the organization's website and future Aula Virtual (Learning Management System) for professional training.
- Organization Platform Backend - Manages events, services, team, and content
- Future LMS System - Will support online courses, enrollments, and certificates
- RESTful API - Built with Spring Boot following enterprise best practices
- Scalable Architecture - Designed to grow from website to full educational platform
- Not a generic boilerplate (specific to SUPAP requirements)
- Not a standalone application (requires frontend)
- Not a CMS (custom-built for SUPAP needs)
- Not a third-party LMS (custom Aula Virtual implementation)
- SUPAP members and visitors - Accessing events and services
- Organization administrators - Managing content and events
- Future students - Enrolling in courses through Aula Virtual
- Instructors - Teaching and managing courses
- Developers - Maintaining and extending the platform
- Conversatorios, Talleres, Seminarios, Conferencias
- Event registration with pricing tiers (Member/Non-Member/Student/International)
- Speaker management
- Capacity tracking
- Virtual/Presencial/Híbrido event types
- Services catalog
- Team & Commissions management
- Organization milestones
- Partnerships (regulatory authorities, international networks, universities)
- Newsletter subscriptions
- Contact form
- User authentication (JWT)
- Role-based access control (RBAC)
- Membership management
- User types: Visitor, Member, Student, Instructor, Admin
- Course creation and management
- Module and lesson structure
- Video lessons, quizzes, assignments
- Student enrollment and progress tracking
- Certificates generation
- Payment processing (MercadoPago/Stripe)
- Support Organization Growth - Scalable platform for SUPAP's expansion
- Professional Training - Enable online education through Aula Virtual
- Member Engagement - Streamline event registration and communications
- Administrative Efficiency - Reduce manual work for organizers
- Revenue Generation - Support paid events and courses
- Java 21 LTS - Modern Java features and long-term support
- Spring Boot 3.2 - Latest Spring framework
- PostgreSQL 15+ - Robust relational database
- JWT Authentication - Stateless security
- Flyway - Database version control
- Spring Security 6.x with JWT
- BCrypt password hashing
- Role-based access control
- CORS configuration for web frontend
- RESTful endpoints
- OpenAPI/Swagger documentation
- Standardized JSON responses
- Comprehensive error handling
- Users & Roles - Authentication and authorization
- Events - Event management with speakers and registrations
- Services - Organization services catalog
- Team - Team members and commissions
- Newsletter - Email subscriptions
- Contact - Contact form messages
- Courses - Course catalog and details
- Modules & Lessons - Course curriculum structure
- Enrollments - Student course registrations
- Progress - Student learning progress
- Assignments & Submissions - Coursework management
- Assessments - Quizzes and exams
- Certificates - Course completion certificates
- Payments - Transaction management
- Project initialization
- Database configuration
- User authentication (JWT)
- Basic CRUD operations
- Event CRUD endpoints
- Speaker management
- Event registration
- Email notifications
- Services management
- Team & Commissions
- Newsletter subscriptions
- Contact form
- Course creation and management
- Module and lesson structure
- Student enrollment system
- Assignment submission
- Quiz system
- Grading functionality
- MercadoPago integration
- Payment processing
- Receipt generation
- Certificate generation
- PDF creation
- Verification system
Base URL: https://api.supap.uy/api/v1
/auth/*- Authentication (login, register)/events- Event listings/services- Services catalog/team- Team information/contact- Contact form
/enrollments- User enrollments/registrations/my- User's event registrations/courses/*/progress- Course progress
/admin/*- Administrative functions/events(POST/PUT/DELETE) - Event management/courses/*/manage- Course management
- Local Development - H2 in-memory database
- Testing - JUnit 5 + Mockito
- Database Migrations - Flyway version control
- API Documentation - Swagger UI at
/swagger-ui.html - Monitoring - Spring Boot Actuator
- Environment: Docker/Railway/DigitalOcean
- Database: PostgreSQL (managed service)
- Files: AWS S3/Cloudinary for media
- Email: SendGrid/AWS SES
- Monitoring: Actuator + Prometheus (future)
A successful SUPAP backend should:
- ✅ Handle 1000+ concurrent users
- ✅ Support multiple event types and registrations
- ✅ Secure JWT-based authentication
- ✅ Scalable to full LMS functionality
- ✅ Comprehensive API documentation
- ✅ 95%+ uptime
- ✅ GDPR-compliant data handling
- Complete Phase 1 (Core Backend Setup)
- Implement Events Module (Phase 2)
- Build Content Management (Phase 3)
- Design Aula Virtual architecture (Phase 4)
- Plan payment integration (Phase 6)
- Architecture Guide: BACKEND_ARCHITECTURE_GUIDE.md
- API Documentation: Generated via Swagger UI
- Development Guide: docs/guides/getting-started.md
- Standards: standards/
Organization: SUPAP - Sociedad Uruguaya de Psicoterapias Asistidas con Psicodélicos Website: https://supap.uy API Base URL: https://api.supap.uy/api/v1