Groopoo
Visit the webapp"Groopoo" is a digital solution developed to address the heavy administrative workload faced by ISM Dakar (Institut Supérieur de Management) during its quarterly hackathons and workshop events. The project's primary objective was to support and streamline administrative processes throughout every stage of these events. These stages can be divided into three main phases: Pre-Workshop, Workshop Execution, and Post-Workshop.
Pre-Workshop: As the name suggests, this first phase involves laying the groundwork for a successful event.
Participant data must be entered and organised according to the institution's structure,
enabling users to familiarise themselves with the platform and efficiently carry out operations during the subsequent phases.
Note: Participants include students, visiting companies and organisations on which themes and exercises are based, lecturers,
and administrative staff acting as coaches or jury members.
To support these requirements, the platform provides the following features:
- Creation and management of workshop folders
- Creation and management of class lists, student lists, administrative staff lists, and visitor/client lists
- Import and export of student data through Microsoft Excel spreadsheets
- Management of academic-year folders, under which all related workshop data is organised
Workshop Execution: During the event itself, this phase focuses primarily on recording daily attendance for all participants and registering scores assigned by jury members to either groups or individual participants. Participant groups may be formed using a sophisticated algorithm specifically designed to accommodate ISM's organisational structure.
Post-Workshop: Once the main workshop activities have concluded, ISM enters the final phase of the event, during which the highest-performing groups qualify for a final pitching round. The platform facilitates this process by allowing users to filter and rank groups based on:
- Total marks or points achieved
- Marks or points achieved per theme (similar to rankings in sports competition group stages)
- Marks or points awarded by individual coaches
Finally, at the conclusion of an event, users can lock the workshop folder to prevent any further modifications to the data.
Challenges and Achievements
What initially appeared to be a straightforward concept gradually increased in complexity. Most challenges stemmed from the flexibility of the event structure and the evolving requirements introduced by the client. One of the most significant challenges was the need to manage not only future events but also historical ones. "Groopoo" addresses this requirement through a feature that relies on carefully curated Microsoft Excel spreadsheets to perform the data ingestion tasks required during the Pre-Workshop phase.
Another major challenge involved processing performance. With participant numbers regularly exceeding 700 individuals, the application's underlying code had to follow best practices to minimise database and API requests while maintaining efficient response times. Furthermore, the development team had to remain highly proactive, particularly during testing phases, where features were frequently adjusted and bugs resolved in real time.
Ultimately, the first version of Groopoo proved successful, reducing administrative workload and cutting the number of manual tasks involved in event management by over 50%. A substantial contributor to this achievement was the group-formation algorithm, which enabled the automatic creation of groups using a wide range of combinations across classes, academic levels, and genders within the institution.
Personal Contributions & Collaboration
"Groopoo" serves not only as a practical digital solution but also as a testament to the team's persistence and commitment. Development responsibilities were divided into three main areas: backend development (handled by myself), frontend development, and identity design. The team adopted a Scrum workflow, which facilitated the planning of achievable milestones and clearly assigned responsibilities to each team member. Communication was conducted through a hybrid approach, combining in-person meetings with remote collaboration sessions.
The links and images presented on this page focus primarily on my contributions, which explains the limited representation of the frontend. On the backend side, I was the primary contributor to several of the platform's flagship features, including:
- Total marks or points achieved
- Marks or points achieved per theme (similar to rankings in sports competition group stages)
- Marks or points awarded by individual coaches
These features were implemented as part of a REST API backend developed in PHP using the Symfony framework. The backend was integrated with a TypeScript frontend built using Angular and supported by an SQL database, while adhering to Object-Oriented Programming principles.
Future Improvements
A wise man once said, "Nothing of man's making is perfect" (although I am not entirely sure who). The team shares this belief and recognises that Groopoo can continue to evolve and improve.
The flexible nature of the events and the client's ongoing demand for increasingly precise tools will naturally drive the integration of additional features in future versions. By the time this is being read, a redesigned and more modern frontend may already be fully operational and deployed for its intended users. Additionally, continuous refinement of the underlying codebase will further optimise system performance and reduce processing times. The team also envisions developing a separate version of the platform that can serve as a reusable template for future clients interested in adopting a similar solution.
Development Tools and Technologies
Backend Programming Language: PHP (Symfony Framework)
Database: SQL Database (managed through phpMyAdmin)
Frontend Programming Language: TypeScript (Angular Framework with Node.js dependencies)
Modelling & Design Software: Figma
Version Control: Git