All projects

Apr 2025 · present · Fullstack developer and tech lead, now through Techlithy

Ensina Mais e-commerce

Learning material sales for the ZeroHum and ZH+ networks, from the Transforma Educação holding

Online store, point of sale at the schools and back-office for the Ensina Mais publishing house. Each family sees only the right product for the student's class. The system integrates payments (Asaas), ERP and invoicing (Bling) and the school system.

Publisher dashboard with total sales, materials sold and sales per day

The problem

The Ensina Mais publishing house sells learning materials to the students' parents. Each product depends on the unit, the class, the school year and the delivery batch, and sales happen online and at the school front desks. Everything has to work with the school system, the payment gateway and the ERP.

The solution

  • Personalized catalog: based on the active enrollment, each family sees only the product for the student's class, cached in Redis.
  • A point of sale for the school offices, with split payments across several methods, and a back-office with reports, coupons, contracts and invoicing.
  • Overdue debt negotiation flow with interest and late fee rules and payment links.
  • Bank slip and abandoned cart reminders with n8n.

Architecture

Microservices in Node.js and TypeScript behind a gateway with central authentication and rate limiting, with separate MySQL databases per domain. Orders whose payment needs background processing go to a RabbitMQ queue that is consumed in batches, and a scheduler runs the routines without duplicate executions.

  • Payments with Asaas: bank slip (boleto), PIX, card, installments and subscriptions.
  • Bling as the ERP, with batch issuing of NF-e (Brazilian electronic invoices), reprocessing and job tracking.
  • Automatic import of students, parents and classes from ActiveSoft, in dependency order.
Ensina Mais e-commerce architectureFamilies, school offices and the internal team come in through an API Gateway. Behind it are the store, payments, negotiation, back-office, scheduling and configuration microservices, with RabbitMQ, MySQL databases and Redis. The services integrate with Asaas, Bling, ActiveSoft and n8n.Node.js + TypeScript microservicesIntegrationsFamiliesonline storeSchool officespoint of sale at the schoolsInternal teamNexus back-officeAPI Gatewaycentral JWT · rate limiting · safe retriesStorecatalog and ordersPaymentsAsaas webhooksNegotiationoverdue debtNexus APIback-office and NF-eSchedulerroutines without duplicatesSettingscentral configurationRabbitMQorder queueMySQLstore, settings, negotiationRediscatalog cacheAsaasbank slip, PIX, cardBlingERP and NF-eActiveSoftstudents and classesn8nreminders
Ensina Mais e-commerce architecture

Problems it solves

Screens

Next projectPortal Transforma ERP