Elisabeth, Developer Mage

Zoo Arcadia ✨

Tech Stack : PHP, HTML, CSS, JavaScript, MongoDB, MySQL

Duration : 4 weeks

Overview

Zoo Arcadia is a complex interactive platform that represents a true full-stack challenge. The site offers a dual experience: a public interface for visitors and an administrative section for zoo management. It's an ambitious project that allowed me to explore NoSQL and SQL databases in parallel.

Interface publique Zoo Arcadia Dashboard administrateur Gestion des animaux Gestion des habitats Gestion des services Page d'inscription Modification des horaires Services additionnels

Visitor Features

Admin Features

Backend Architecture

Backend Explanations

πŸ’Ύ MySQL - Structured data

Stores relational data: users, animals, enclosures, services. Main tables:

  • animals : id, nom, espece, enclos_id
  • enclosures : id, nom, habitat_type, capacite
  • services : id, nom, prix, horaires
  • users : id, email, password_hash, role

πŸƒ MongoDB - Flexible data

Stores semi-structured data: visitor reviews, veterinary reports. Main collections:

  • reviews : avis avec ratings, commentaires, dates
  • vet_reports : rapports dΓ©taillΓ©s avec observations flexibles
This NoSQL approach allows storing variable veterinary reports without fixed schema.

πŸ”Œ MVC Architecture

Clear separation between:

  • Models: Classes for Animal, Enclosure, Service, Review
  • Controllers: AnimalController, AdminController, ReviewController
  • Views: PHP templates for public and admin

πŸ”’ πŸ” Security:

  • Password hashing with bcrypt
  • Secure sessions with role verification
  • Prepared statements to prevent SQL injection
  • Strict server-side data validation

Frontend-Backend Integration

Technical Challenges Addressed

1. Multi-database management : Coordinating MySQL and MongoDB required careful planning. I learned to choose the right database for the right type of data.

2. Authentication and authorization : Verifying that admins can only access their specific sections strengthened my understanding of web security.

3. Performance : With potentially many animals and reviews, I had to implement pagination and database indexes.