01
Soliman Al Halaby Software EngineerVis ma ville is a civic mobile application that empowers citizens to report infrastructure damage and safety concerns in public spaces. By connecting an entire community, it enables residents to actively contribute to improving their city's daily life.
01 /
Cloud
Cloud
The project is structured around two interconnected layers. The back-end relies entirely on Firestore, with a GraphQL playground powered by Apollo to streamline data operations. Each entity follows a well-defined schema, ensuring clean communication with the front-end. All queries are ID-based, enabling a fully dynamic application.
The back-end logic is split into two distinct parts: queries and mutations. Queries handle all read operations, fetching users, posts, and related content from the database. Mutations manage data updates, allowing users to modify their profile information and interact with the platform in real time.

02 /
Universal
Universal
To ensure cross-platform compatibility, we built the front-end with Expo. Before connecting the back-end, we designed a local JSON structure mirroring the API schema, allowing both teams to work in parallel. Data is fetched through GraphQL queries targeting specific elements by ID, and navigation between tabs follows the same dynamic pattern, passing parameters to load the corresponding content.
Map pins are rendered using React Native's MapView and Marker components. When a user submits a report and grants location access, their coordinates are captured via a custom useLocation hook and stored in the database. Each existing report is then plotted on the map by retrieving its latitude, longitude, and content. Users can also photograph the reported issue using expo-camera, with access to both front and rear cameras upon permission.
