Skip to content

Nabil080/applicamping

Repository files navigation

Campsite Management Web Application

Overview

Developed during a Web Developer Internship at Maitrise Web (November 2023 – February 2024), this Symfony-based web application consolidates a legacy WordPress showcase site and a separate internal management app into a single, modern platform. The application enables online booking with optional payment integration and centralized campsite management, designed for scalability and customization to serve multiple campsite clients with minimal modifications.

Project Goals

The project addressed the limitations of two outdated WordPress systems:

  • A static showcase site lacking online booking functionality.
  • A separate, inefficient internal management app.

The new application unifies both into a cohesive platform, offering:

  • Centralized Management: Streamlined online booking and internal operations within one system.
  • High Customizability: A flexible architecture allowing campsite owners to configure operational rules, pricing, and features without code changes.
  • Modern User Experience: A visually appealing interface with interactive dashboards, graphs, and reports to enhance usability for owners and staff.

Key Features

  • Unified Booking and Management: Integrated online booking with optional payment processing, alongside internal tools for reservation management, check-in/check-out validation, and payment registration.
  • Customizable Operations: Enabled owners to define granular rules for accommodations (e.g., check-in days, minimum/maximum stay, pricing, available options, and spot availability) across different periods, ensuring adaptability to diverse client needs.
  • Role-Based Access Control: Implemented distinct user roles:
    • Workers: Manage reservations, validate check-ins/outs, register payments, generate bills/receipts, and access a task-driven dashboard with real-time status updates.
    • Owners/Admins: Configure settings, monitor logs, and supervise employee actions.
  • Comprehensive Logging: Tracked all actions in a searchable log table for transparency and accountability.
  • Data-Driven Insights: Provided interactive graphs and daily/monthly reports to visualize performance metrics and streamline decision-making.
  • Scalable Architecture: Designed modular components to minimize redevelopment for new clients, ensuring long-term maintainability.

Technical Details

  • Framework: Symfony (PHP), leveraging its MVC architecture and dependency injection for a robust, maintainable backend.
  • Database: MySQL, with a normalized schema optimized for complex queries and scalability, supporting dynamic rule configurations and logging.
  • Security: Implemented secure authentication and role-based authorization using Symfony’s security bundle, ensuring data integrity across user roles.
  • Development Practices: Adopted agile methodologies, iterating on mockups and schema designs through supervisor feedback to align with business needs.
  • Tools: Used Git for version control, Docker for consistent environments, and PHPStan for code quality assurance.

Key Contributions

  • Architected a unified Symfony application, replacing fragmented WordPress systems to streamline booking and management workflows.
  • Designed a highly customizable core, allowing owners to tailor operational rules (e.g., accommodation settings, pricing) via a configuration interface, reducing maintenance overhead.
  • Developed role-based access control and logging systems, ensuring secure, transparent operations across user roles.
  • Collaborated with stakeholders to refine mockups and database schema, enhancing usability and aligning features with business requirements.
  • Implemented interactive dashboards and reporting tools with graphs, improving user experience and operational efficiency.

Lessons Learned

  • Mastered Symfony’s advanced features, including security and configuration management, deepening expertise in building scalable web applications.
  • Gained experience in designing flexible database schemas to support dynamic business rules and high-performance queries.
  • Honed collaboration skills through iterative feedback, balancing technical constraints with stakeholder expectations.
  • Learned to integrate user-centric design principles, using data visualization to enhance decision-making for business users.

Screenshots

About

Customizable Campsite Management Web Application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors