Flutter App

GIF Code

Flutter

Android Studio GIF

Dynamic application

Enchant

In as part of my international semester in Madrid, where I'm doing the second part of my second year at EPITA, I've had the opportunity to take a course at the Universidad Politécnica de Madrid (UPM). This project, GreenWatch, was developed for the MAD course. It represents a practical application of the skills acquired, with a focus on developing a cross-platform mobile application using Flutter. This experience is part of an immersive learning approach to modern mobile technologies and team-based project management in an international context.

GIF Android

Introduction

Working in a team of three students, our mission was to design and develop a mobile application using the Flutter framework. We chose to create GreenWatch, an application that aims to help users monitor and be informed about the environmental impacts of droughts and floods. GreenWatch aims to provide real-time data and predictive analysis, enabling individuals, communities and organisations to stay one step ahead in managing water-related natural disasters and always be prepared for the unexpected.

GIF Android
GIF Android
GIF Android

Challenge

GreenWatch was developed over a period of six weeks. One of the main challenges was to integrate a wide range of complex, interconnected functionalities into a coherent, user-friendly application using Flutter, a framework with which we were unfamiliar.

Solutions

Faced with the challenges inherent in developing GreenWatch, including the integration of multiple technologies and the need to create an application that is both functional and intuitive, we have adopted a proactive and methodical approach to maximise our efficiency and ensure constant progress.
From the outset of the project, we sought to anticipate future needs and potential complexity by studying the overall architecture of the application in advance. This meant understanding how key functionalities such as interactive mapping (flutter_map), user authentication (Firebase), local data persistence (SQFlite) and external API calls would interact. This preparation phase enabled us to structure our work, define the interfaces between modules and approach development with a clear vision of the objectives to be achieved for each component.
The autonomy required for this project encouraged us to develop a particularly independent learning and problem-solving style. We actively used various online resources, explored the official Flutter documentation and specific packages in detail, analysed code examples and experimented with different solutions to overcome the technical obstacles we encountered. This iterative approach enabled us not only to solve the problems, but also to deepen our understanding of the subtleties of development with Flutter and its ecosystem.
At the same time, we focused on effective team collaboration and agile project management. We divided tasks according to skills and interests, while maintaining regular communication to ensure consistency. The use of Git and GitHub was crucial for managing versions, facilitating collaboration and integrating everyone's contributions in an orderly fashion. By adopting an iterative development approach, with regular development, testing and integration phases, we were able to optimise our time and guarantee the application's progressive robustness.

GIF Android

Conclusion

Thanks to our methodical approach, perseverance in the face of technical challenges and effective collaboration, we successfully completed the development of GreenWatch. The project was an extremely rewarding learning experience, enabling us to consolidate and extend our skills in mobile development with Flutter.
This project was a valuable opportunity to acquire and strengthen essential skills: Firstly, we have developed an in-depth understanding of the Flutter framework and its ecosystem, including state management, navigation, integration of third-party packages (such as flutter_map, sqflite, Firebase services) and building responsive, cross-platform user interfaces. Secondly, we have learnt to adapt quickly to new technologies, to seek solutions independently to complex problems, and to debug our code efficiently. Integrating external services and managing local data have particularly tested our ability to solve problems. Finally, this experience has considerably improved our understanding of team-based project management in a demanding technological context. We refined our methods of communication, task allocation and use of versioning tools such as Git, while strengthening our team spirit and our ability to work under pressure to meet deadlines.
In conclusion, the GreenWatch project, carried out as part of our international semester at UPM, was a complete and stimulating immersion in the development of modern mobile applications. It enabled us not only to deliver a functional application that met our initial objectives, but also to gain confidence in our technical abilities and acquire valuable skills that will undoubtedly be useful for our future technological projects and professional careers.The project's source code is available here: GitHub - Flutter App.