May 2024 - June 2024
Project 7 - Creating an Event Management Application
Expertise
Software Development
Bachelor Skills
Skills 1,2,3,4,6Skill 1: Develop simple computer applications
Skill 2: Understand and build algorithms
Skill 4: Design and implement a database based on client requirements
Skill 5: Identify the business needs of clients and users
Skill 6: Identify one's abilities to work in a team
Technologies
JavaFX
Github
Take a lookProject Overview
Our bachelor big project was to create an event management application. What was interesting about it was that we had to do every part of a startup creation and launch : from the idea to the design and development, including the project management, marketing and the business plan.
At the end of the project, we had to make a pitch in front of a jury of investors in english and
in french to convince them to invest in our project just like in the famous TV show 'Shark Tank'.
We also had to make a presentation of our project in front of our software development professors to explain the process of creation, and to show the final product by doing a demo of the application.
I joined a team of 6 students to come up with the idea of LittleSpaceManager.
LittleSpaceManager is a comprehensive software solution designed for the efficient management of municipal event venues. Our application simplifies scheduling, budget forecasting, and resource management, addressing the common challenges faced by municipalities in organizing events.
Problems Addressed:
- Budget Management Issues
- Inadequate Tracking
- Coordination Misunderstandings
Our Solutions:
- Comprehensive scheduling and budget management for event spaces.
- Efficient room availability management.
- Effective management of human and material resources.
Target Audience: Municipalities and local governments
We were constrained to use JavaFX to develop the application.
But, because we already knew how to code in Java, it was not a problem for us.
First, we had to conduct a thorough project framing report that included defining project constraints, assessing risks, creating a criticality matrix, and establishing a RACI (Responsible, Accountable, Consulted, Informed) chart.
Next, we developed a complete design report. This included defining use cases, both nominal and alternative, and prioritizing them. We created detailed class diagrams, showcasing qualifiers, compositions, aggregations, and various associations. We also produced sequence diagrams to illustrate scenario details.
Sequence Diagram
We then moved on to the HMI (Human-Machine Interface) design report. This involved creating mock-ups, wireframe models, and prototypes, as well as defining personas and ergonomic criteria to ensure a user-friendly interface.
To anticipate potential delays and optimize the organization of a symposium, we performed a graph analysis. This allowed us to map out tasks and their start and end times, identifying the shortest paths and potential bottlenecks.
We also tackled an optimization problem involving double-variable functions. The scenario involved maximizing economic return by optimally distributing classic and VIP seats in a 300-square-meter concert hall, constrained by a 200-person safety limit.
Finally, we reviewed the entire project, reflecting on what went well and what could be improved. We also developed the application code, adhering to the MVC structure with JavaFX for the GUI. We ensured code quality with proper JavaDoc documentation, unit tests, log messages, and optimizations for execution time and memory usage. We maintained a clean object-oriented structure, utilizing inheritance and other principles, and made regular commits to our version control system.
Event Home Page
Room Creation Page
Event Creation Page
Room Planning Page
Financial Report Page
Error Message Example
Results
Our pitch impressed the jury with :
- 17/20 for the pitch in french
- 14.5/20 for the pitch in english
- 18.25/20 for the project presentation
and the application's functionality and design received positive feedback from our professors.
We gained valuable experience in project management, software design,
and application development, which will undoubtedly benefit our future endeavors.