State Registry System for Family Farmers, Entrepreneurs and Cooperatives
System built for the State Agrarian Development Secretariat of Ceará (SDA) to register family farmers, individual entrepreneurs and cooperatives, and to run the notice, quotation and proposal flow behind the State Family Farming Food Acquisition Policy — with over 20,000 registered producers.
SECAF is the state registry that formalizes producers, entrepreneurs and cooperatives in Ceará's family farming sector and runs the notice, quotation and proposal flow behind the State Family Farming Food Acquisition Policy, with over 20,000 registered producers.
SECAF (State Registry System for Family Farmers, Individual Entrepreneurs and Representative Enterprises) is the official registry the State Agrarian Development Secretariat of Ceará (SDA) uses, through the Territorial Development, Cooperativism, Commercialization and Solidarity Economy Coordination (Codece), to formalize the origin of Ceará's family-farming products. It's the base instrument of the State Family Farming Food Acquisition Policy, governed by State Law 15,910/2015, and the registry that feeds institutional food-purchase programs such as Ceará Sem Fome.
Quotations module: open quotations listing, with search, columns and export
SECAF's operational core is the flow that connects a purchase demand to an actual food delivery. A notice opens a quotation linked to a demanding unit, with a defined delivery schedule. From there, registered producers and cooperatives respond with an Individual Proposal or a Collective Proposal — the latter grouping bids from several entities under the same quotation and managing unit, each with a CNPJ, proposed amount and status (Sent, Open, Rejected) tracked individually.
Quotation Opening: demanding unit, deadlines and delivery schedule for a quotation
Each quotation carries the data that defines the supply window — demanding unit, start and end dates, delivery schedule and municipality — and it's from there that the rest of the flow is organized, including the history of proposals received and each one's status.
In the Collective Proposal, the system groups proposals by quotation and by managing unit — usually an association or institute representing a group of cooperatives — showing, side by side, the proposed amount and status of each participating entity. This grouping is what gives the Secretariat the management view of how many cooperatives are competing for each quotation and what stage each proposal is at.
Collective Proposal: proposals grouped by quotation and managing unit, with amount and status per entity
Some figures shown in this case study's images were hidden due to the confidentiality of the Secretariat's data.
SECAF combines two fronts: a .NET/C# core handling producer and cooperative registration along with validation business rules (documentation, CNPJ/CPF, per-profile eligibility), and a set of operational panels in PHP and Angular for the notice, quotation and proposal flow used day-to-day by the Secretariat's teams and by the cooperatives. The application runs containerized with Docker and is version-controlled via Git, following the same infrastructure pattern used across SDA's other systems.
Registration and validation live in the .NET/C# core, separate from the PHP operational panels — the eligibility rule is the same across every screen.
Distinct documentation and eligibility for individual farmer, entrepreneur and cooperative, each with its own CNPJ/CPF requirements.
A state machine keeps notice, quotation opening and proposal consistent, with no orphan amounts between steps.
Amount and status of each proposal tracked per entity (CNPJ), avoiding divergence between the quotation and what each cooperative proposed.
The same registry feeds the Ceará Sem Fome module and Institutional Purchase, without duplicating producers or opening room for inconsistency.
Docker isolating dev and production, version-controlled via Git — the same infrastructure pattern as SDA's other systems.
High-level architecture: PHP notice/quotation/proposal panels over a .NET/C# registry core, with the registry feeding Institutional Purchase and Ceará Sem Fome, all containerized.
SECAF is the backbone of the State Family Farming Food Acquisition Policy (Law 15,910/2015), which requires at least 30% of public food purchases to come from family farming. Every registration and proposal in the system decides, in practice, who supplies food to the state — which is why origin validation and proposal integrity were handled with the rigor of a public procurement process.
SECAF today sustains over 20,000 registered producers and the quotation flow that decides, in practice, which cooperatives supply food for the Secretariat's programs, with 99.6% uptime across 14 months in production. It's the registry that guarantees the origin traceability required by the State Family Farming Food Acquisition Policy, from a producer's first registration through to a quotation's winning proposal.
SECAF put me in direct contact with the last mile of a public policy: every registration and every proposal in the system represents a producer or cooperative trying to sell their production to the state. Keeping that flow — from validated registration through to the opening and judgment of each quotation — stable and reliable for 20,000 producers was one of the projects that most demanded rigor from me as a senior developer, across registration, business rules and the Secretariat teams' daily operation.
SECAF had to support, in the same system, the formal registration of thousands of producers and cooperatives, and the operational quotation flow that, in practice, decides who supplies food for the state's programs.
Modeling a single registry for individual farmers, entrepreneurs and cooperatives, each profile with its own validation and documentation rules
Structuring the notice → quotation opening → individual/collective proposal flow while keeping status and amounts consistent per cooperative
Ensuring the producer registry fed the Ceará Sem Fome module without duplicating data or opening room for inconsistency