Gladioforce

Gladioforce

OPO: Project 4.0

A comprehensive membership management system developed for the Gladiolen festival, known as the best small festival in Europe. This was a real-world client project where our team of 6 developers delivered a complete solution for managing festival and all its administrative tasks.

Project Overview

Duration: 3 months (February - April 2024)
Team Size: 6 developers (Tommy, Dennis, Pieter, Yordi, Jonas, Dries)
Role: Full-stack developer
Client: Gladiolen festival organization

GitHub Contributions

Key Features

  • Administration: Complete administrative management of the festival
  • Editions: Management of different festival editions
  • T-shirts: Management of festival merchandise
  • Core Members: Registration and management of core members
  • Volunteers: Registration and management of volunteers
  • Associations: Management of participating associations
  • Time Clock: Time registration system for staff

Administration console Time registration system

Technical Implementation

Backend

  • Django Python with Django Ninja for fast, type-safe API endpoints
  • MySQL database for data storage
  • Swagger according to openAPI specifications for API documentation
  • Firebase integration for additional functionalities

Frontend

  • Angular framework for a responsive single-page application
  • SASS for advanced styling capabilities
  • Material Design components for consistent UI/UX

Infrastructure

  • Docker Compose for containerization and deployment
  • Terraform for infrastructure as code
  • AWS hosting with separate production and lab environments
  • Web Tier and App & DB Tier architecture for optimal scalability and security

Documentation

  • Installation Guide: Detailed instructions for local installation
  • Host Installation Guide: Manual for deployment on production servers
  • User Manual: Comprehensive user guide for end users Download the pdf

Challenges & Solutions

Challenge: Running multiple frontends on one large API with different sub-APIs
Solution: Modular API architecture with clear separation of responsibilities

Challenge: Time management and planning
Solution: Improved communication and realistic time schedules

Skills Learned

Soft Skills

  • Communication: Clear and frequent alignment, preventing misunderstandings
  • Collaboration: Dividing roles, supporting each other, providing feedback
  • Time Management: Setting priorities, planning tasks, monitoring progress
  • Problem-solving: Quickly devising solutions when obstacles arise

Technical Skills

  • Firebase implementation and integration
  • Swagger according to openAPI specifications
  • Running multiple frontends on one large API with different sub-APIs
  • Understanding the difference between production and lab environments in AWS

Stack

  • Backend: Django, Django Ninja, MySQL
  • Frontend: Angular, TypeScript, SASS
  • Infrastructure: Docker Compose, Terraform, AWS
  • Additional Technologies: Firebase, Swagger

My contribution

Within this project, I took full responsibility for the back-end, both in terms of architecture and development. I designed and implemented the API, the database, and the integration with external services such as Firebase. I also played a leading role in making decisions regarding the technologies used and the composition of the stack. Additionally, I set up the codebase to be modular and scalable, making it easy to extend and maintain.

Towards the end of the project, I also actively contributed to the front-end development, including solving complex issues, optimizing the user experience, and implementing key functionalities in Angular.

In addition to my technical contributions, I regularly supported the team with knowledge sharing, code reviews, and technical coordination to ensure the quality and progress of the project.

Although the project was a team effort, I took on by far the largest share of the work. My commitment, technical expertise, and coordinating role were decisive for the success and quality of the final result.

Outcomes

  • Fully functional administration system for the Gladiolen festival
  • Streamlined processes for volunteer and member management
  • Scalable and maintainable codebase for future extensions

Visit the project on GitHub