Together

Together is an event planning application specifically designed for the 100Devs engineering community, consisting of 50,000 members. It serves as a group calendar for public events, offering a centralized platform to discover and participate in community activities.

Link to the repository here




A preview of Together website

Project Purpose and Goal

Together was designed to streamline event planning and coordination within the 100Devs engineering community. The goal was to create a user-friendly group calendar that integrates seamlessly with Discord, providing community members with an efficient way to discover and participate in various events. The application aims to foster a sense of community by making event information easily accessible and encouraging active engagement.

My Role

As a key contributor to Together, my role involved researching and implementing the project’s architecture, utilizing the Bulletproof React. I spearheaded the development of the initial calendar, integrating it with dummy data provided by the Backend team. Additionally, I played a crucial role in refactoring the existing React code to enhance developer experience, making it more modular and scalable for future iterations.

Technical Challenges

One particularly difficult area I encountered was when refactoring an existing modal code into a more modular and reusable component. Due to the styling applied to other components with the transform property, it would break any descendants elements that try to use fixed position. This led to a situation where the modal was not taken out of flow layout and positioned accurately.

The solution I stumbled across was to utilize React portals to inject the modal into a separate container outside the root div used by the rest of the application. This approach ensured that the modal was not affected by any CSS applied elsewhere in the application.

Lessons Learned

I have acquired a significant amount of knowledge and valuable insights throughout my involvement in this project. The most important ones involved my newfound understanding of React Contexts, Git management and Agile development process.

As my first large project collaborating with a diverse team of developers, I learned a lot of lessons regarding code structure and organisation. When I first began, I would write code that only I would understand and move on, but now I know how this approach can hinder the development experience for other developers. I now spend extra time refactoring and improving the code I write, ensuring optimal readability and a positive development experience for my fellow engineers.