ReportIt

A complaint reporting system built to simplify reporting community issues.

Overview

ReportIt makes it easier to report community issues without paperwork and unnecessary hassle. Users can submit a complaint with an image, details, and a location using Google Maps or their device's current location.

Implementation

Built the backend with Go using a repository, service, and handler architecture, with PostgreSQL as database.

Implemented JWT authentication with access and refresh tokens, refresh token rotation, and role-based authentication and authorization across the backend and mobile application.

What I Learned

Access and refresh token authentication, refresh token rotation, role-based authorization, and integrating Google Maps and device location in Flutter.