Getting started
Set up the backend and frontend development environment
Ticketing & visits
Purchase tickets and book guided visits — no account required
API reference
Explore the full REST API for all platform resources
Marine species
Interactive database of animals, habitats, and conservation status
Who uses the platform
The platform serves three distinct user groups, each with a dedicated experience: Public visitors — Any person who navigates to the site without an account. They can browse institutional information, explore the marine species database, read about research and conservation programs, purchase tickets anonymously, make donations, and sign up for volunteering or educational services. Registered clients — Users who create an account gain access to a private client dashboard (/Client_Dashboard) and a personal profile page. Authentication is handled via JWT tokens, and client sessions are protected by the PrivateRoute guard.
Administrators — Staff members with elevated privileges access the admin dashboard (/admin/dashboard) through the AdminRoute guard. Administrators manage animals, species, exhibits, tickets, purchase orders, educational programs, documents, and review audit logs for all system activity.
Key capabilities
Anonymous ticket purchasing
Visitors can buy tickets and book visits without registering. Each purchase generates a QR code for park entry.
Marine species database
Browse animals by species, habitat, and IUCN conservation status with scientific metadata and imagery.
Exhibits & guided visits
Explore park exhibits and register for guided tours with date selection and capacity management.
Educational programs
Register for workshops, educational services, and age-appropriate programs managed by park staff.
Donations & volunteering
Support conservation through PayPal-powered donations or submit a volunteering application.
Research & conservation
Learn about aquaculture, marine biotechnology, the rescue and rehabilitation center, and active projects.
Transparency portal
Access financial and environmental impact reports published by the park.
Admin dashboard
Manage all park resources, review audit logs, generate QR codes, and export reports.
Institutional information
History, team, and institutional transparency pages for the park’s public profile.
Tech stack
The platform is built on a modern, decoupled architecture:| Layer | Technology | Version |
|---|---|---|
| Frontend framework | React | 19.0.0 |
| Frontend build tool | Vite | 6.x |
| Styling | Tailwind CSS | 4.x |
| Routing | React Router | 7.x |
| HTTP client | Axios | 1.9.x |
| Backend framework | Django | 5.2.3 |
| REST API | Django REST Framework | 3.16.0 |
| Authentication | djangorestframework-simplejwt | 5.5.0 |
| Database (development) | SQLite | — |
| Database (production) | MySQL | — |
| Payments | PayPal SDK (@paypal/react-paypal-js) | 8.x |
| Media storage | Supabase Storage | — |
EmailJS (@emailjs/browser) | 4.x | |
| QR codes | Python qrcode library | 8.2 |
| Image processing | Pillow | 11.2.1 |
| PDF generation | @react-pdf/renderer, PyPDF2 | — |
| Maps | Mapbox GL | 3.x |
The frontend and backend are completely decoupled. The React SPA communicates exclusively with the Django REST API over HTTP. CORS is configured to allow requests from
localhost:5173 (Vite dev server) during development.Project background
The Parque Marino del Pacífico Sur, founded in 1994, is a key institution for marine conservation, scientific research, and environmental education in Costa Rica. Before this platform, information about species, activities, services, and donations was scattered across disparate channels, limiting public participation and institutional transparency. The platform addresses this by providing:- A single digital entry point for all park services
- Equitable access to environmental and scientific information
- Citizen participation in education and conservation
- Financial and environmental transparency through a public portal
- Civic education through interactive content and programs
