/

Notice and Intimations Calendar

Django / DRF / React JS / Bootstrap

Project Overview

December of 2019

A branch of the ItajaĆ­ City Hall, located in Brazil, had organizational and control issues with their notices and intimations. These documents needed to be related to specific plots of land and surveys conducted at the location. The staff was managing this process using individual Excel sheets, resulting in a lack of centralization.

To address this problem, an initial MVP was developed using Django and templates (HTML5, CSS, and Bootstrap). The MVP was successful, leading to the development of a more complex system. Meetings were held to gather feedback on the deficiencies of the MVP and to identify new features.

The final project was built using the stack that I was most comfortable with at the time. The frontend was developed with JavaScript, React, Redux, and the Bootstrap CSS library, while the backend utilized Python, Django, and DRF (Django Rest Framework).

Although there were some changes to the database structure, the project continued to use the Django ORM and PostgreSQL.

A significant new feature was the ability to print notices and intimations from a model within the app, which standardized the documentation process. Additionally, a new user structure was implemented, including designated assistants who could perform actions on behalf of an inspector with their permission.

One major challenge in the project was the lack of access to city hall information, requiring compromises and periodic scraping to ensure up-to-date data. An admin page was created to facilitate triggering information updates.

For hosting, the backend was containerized using Docker and deployed on a Linode VPS, with Nginx serving static files and acting as a reverse proxy. A separate Docker container hosted the PostgreSQL database.

To assist users, a guide was created to provide instructions on how to use the application.

Technologies

Python

Django

Django Rest Framework

Javascript

React

Bootstrap

Redux

PostgreSQL

Back