🌳

Gestifor Case Study

A specialized enterprise tool for end-to-end management of complex forestry projects, from land acquisition to long-term maintenance.

Category

Full-Stack Web Application / ERP

Technologies

Remix, React, TypeScript, PostgreSQL

Domain

Forestry, Environmental Management

Project Overview

Gestifor is a comprehensive, full-stack web application designed to manage the entire lifecycle of forestry and environmental reforestation projects. It serves as a centralized "source of truth" for project managers, field operators, and administrative staff, replacing scattered spreadsheets and manual tracking with a robust, data-driven system.

The platform handles everything from initial land scouting and stakeholder management to detailed project execution, supplier procurement, activity scheduling, and financial reporting.

Short Description

Gestifor is a powerful internal management platform built with a modern full-stack TypeScript approach using Remix, PostgreSQL, and Prisma. It digitizes and streamlines every operational aspect of forestry projects, including scouting potential areas, managing municipal and client contacts, planning and tracking planting activities, handling supplier orders, and monitoring project costs. Featuring an interactive map interface, an automated reminder system, and detailed reporting capabilities, Gestifor significantly enhances operational efficiency and data accuracy for environmental organizations.

The Challenge

The organization managed numerous, geographically dispersed forestry projects, each with its own set of stakeholders (municipalities, clients, suppliers), timelines, and complex data points. The existing workflow relied heavily on disconnected spreadsheets, emails, and paper documents, leading to several critical challenges:

Data Fragmentation

Information was siloed, making it difficult to get a holistic view of a project's status, costs, or history.

Operational Inefficiency

Manual tracking of activities, maintenance schedules, and procurement was time-consuming and prone to human error.

Lack of Proactive Management

Key deadlines for activities like maintenance or replacing dead plants were often missed due to a lack of automated reminders.

Reporting Complexity

Generating comprehensive reports on costs, plant survival rates, or supplier performance was a laborious manual process.

My Role

As the lead full-stack developer on this project, my responsibilities encompassed the entire development lifecycle:

System Architecture & Database Design

Designed the relational database schema using Prisma to model the complex relationships between projects, areas, clients, suppliers, and activities.

Backend & API Development

Built the server-side logic and API endpoints using Remix actions and loaders, with robust data validation powered by Zod.

Frontend Development

Implemented the entire user interface using React and the Mantine UI component library, focusing on creating intuitive, data-dense dashboards and forms.

Feature Implementation

Developed all core features, including user authentication, CRUD operations for all entities, the automated reminder system, and the PDF generation service.

Third-Party Integration

Integrated the Google Maps API for interactive location selection, geocoding, and visualization of project sites.

The Solution

Gestifor was built as a unified platform to address these challenges head-on.

1. Centralized Core Modules

Dedicated modules for managing Clients, Suppliers, Municipalities (Cities), and Areas.

Each module supports detailed record-keeping, including contact referees, attachments, and notes.

2. In-Depth Forestry Project Tracking

The Forestry Project is the central hub, linking a client to one or more planting areas.

Tracks key metrics like total plants, dedicated surface area, and project dates.

Sub-modules for tracking Plantations (initial planting events), Dead Plant Replacements, and scheduled Maintenance Activities.

3. Supplier & Order Management

A complete procurement workflow to create and manage Orders to suppliers.

Orders are broken down by product category and linked directly to specific forestry projects, enabling precise cost allocation.

Functionality for uploading and managing order-related attachments like invoices and delivery notes.

4. Interactive Mapping

Integrated Google Maps allows users to pinpoint and save precise coordinates for scouting locations and planting areas.

Reverse geocoding automatically populates address information from map clicks.

A place search box simplifies finding and validating addresses.

5. Automated Reminder System

A server-side cron job runs periodically to check for upcoming deadlines (e.g., planned maintenance, follow-ups for scouting).

Proactively creates reminders and notifies designated users, ensuring critical tasks are not overlooked.

6. Comprehensive Reporting

A dedicated reporting section to generate aggregated data on projects, clients, and orders.

Visual dashboards with pie charts and detailed cost breakdowns provide immediate financial insights into project and activity expenses.

7. Customizable System Settings

Administrators can manage system-wide enumerations like Attachment Types, Product Types, and Activity Types without code changes.

Making the platform highly adaptable to evolving business requirements.

Tech Stack

Framework

Remix (on Vite)

Language

TypeScript

Database

PostgreSQL with Prisma ORM

Frontend UI

React, Mantine UI, Mantine React Table, Recharts

Backend Logic

Node.js (via Remix server)

API & Validation

Zod for schema validation

Services

Google Maps API for geolocation and mapping

Authentication

Session-based authentication using remix-auth

Project Tags

RemixReactTypeScriptNode.jsPostgreSQLPrismaMantine UIZodGoogle Maps APIViteFull-Stack DevelopmentDatabase DesignCRUD OperationsAPI DevelopmentData VisualizationProject ManagementSaaSInternal ToolsForestryEnvironmental ManagementB2BOperations Management

Ready to Start Your Project?

Let's discuss how we can help bring your vision to life with our expertise and innovative approach.