SolidX

School Fees Portal

A comprehensive tutorial on building a school fees collection platform using SolidX.

Introduction

Building a Fee Collection Platform for Educational Institutions

Managing and collecting student fees efficiently remains a challenge for many educational institutions. Traditional methods often involve manual processes, fragmented systems, and lack transparency for both administrators and parents. This tutorial will walk through the process of building a hosted, multi-tenant fee collection platform tailored for educational institutions.

We'll explore how to develop a system that allows institutions to:

  • Onboard themselves easily
  • Configure their own branded landing pages
  • Upload structured fee collection requests
  • Accept payments via integrated gateways
  • Send reminders and notifications
  • Generate reports and manage refunds

Our end goal is to create a modular, extensible platform where each educational institution operates as an isolated tenant, but shares a unified infrastructure. This tutorial assumes a modern web stack and will walk through the architecture, workflows, and data modeling required to bring this solution to life.

User Roles

We'll support two main user types:

Super Admin

  • Onboards new institutions
  • Configures initial landing page and fee types
  • Manages admin users for institutions
  • Can initiate collections (optional)

Institution Admin

  • Belongs to a specific institution
  • Uploads payment collection details
  • Tracks payments and generates reports

Key Use Cases

1. Onboarding an Educational Institution

The onboarding process includes:

  • Creating a new institution tenant in the platform
  • Configuring institutional metadata such as:
    • Name, domain, logo, hosted page prefix
    • Fee types (e.g., Tuition, Bus, Library, Semester 1)
  • Adding institution admin users with domain-verified email IDs
  • Automatically provisioning branded landing pages (e.g., school-name.platform.com)

2. Configuring the Landing Page

Each institution will receive a branded landing page where students or parents can:

  • Log in using email/mobile OTP
  • View due and historical payments
  • Start the payment process

The page design will be standardized, with only the institutions branding (like logo) customized.

3. Initiating Payment Collections

Admins can upload payment collection requests via CSV/Excel files.

Each upload:

  • Contains fee details for multiple students
  • Creates records for students, payment collections, and individual fee items
  • Triggers email notifications to students/guardians about dues

Optionally, WhatsApp or SMS notifications can be integrated in the future.

4. Making a Payment

Students/guardians receive emails with payment links. Once authenticated:

  • They see a breakdown of fees due by category (e.g., Semester 1, Bus, etc.)
  • They can choose partial/full payment amounts
  • The platform integrates with a payment gateway to process transactions
  • Real-time updates are reflected in the system's records

5. Refunds & Chargeback Handling

Institution admins can initiate refunds via the platform.

  • Refunds update all related tables and mark items as refunded
  • Reporting views automatically adjust based on refund status
  • Chargeback logs can be generated using payment and fee-level records

6. Notifications

The system supports the following types of notifications:

  • Fee Due Reminders: Weekly reminders for pending or partially paid fees
  • New Collection Alert: Sent when new payment collections are uploaded

7. Reporting

  • Revenue Tracking: Exportable Excel files combining payment collection and fee data
  • Receipts: To be configured based on institution needs
  • Visual Reports: Future scope for in-system dashboards

What You'll Build

In this tutorial, you'll learn how to build a fee collection system with:

  • Multi-tenant architecture
  • Role-based access control
  • Excel/CSV-based batch uploads
  • Email-based notification system
  • Seamless payment integrations
  • Real-time data updates and computed fields

Let's get started by setting up the foundation for the platform.

Prerequisites

Who is this tutorial for?

This tutorial is intended for:

  • Full-stack developers familiar with web development frameworks
  • Engineers building SaaS platforms or multi-tenant systems
  • Teams looking to integrate payment workflows with admin portals
  • Developers familiar with APIs, relational databases, and async job queues

Local Development Environment

To follow along with this tutorial, ensure your local machine has the following:

  • Node.js (v16+) - for backend and frontend development (e.g., using frameworks like Express, Next.js, or Remix)
  • PostgreSQL - as the primary relational database for multi-tenant data modeling
  • Redis (Optional) - for background job processing (e.g., notifications, payment tracking)
  • Git - for version control and cloning the repo
  • Docker (Optional) - useful if you'd prefer to run services in containers

You should also be comfortable using the terminal and a code editor like VS Code.

Make sure PostgreSQL and Redis are running locally or accessible via Docker containers before starting the implementation steps.