Skip to content
polistudio.

Case 03 — 2026

Role-based university portal with payouts

A full-stack Flask application with three account types, course management, scheduling and a PayPal payout integration. Built as a first-year project — and kept honest about that.

University PortalAcademic projectWeb developmentBusiness automation
Roles with separate dashboards
3
Payout API integration
PayPal
Versioned schema, not hand-edited
Migrations

The
problem.

The brief was a university management portal: students enrolling, teachers running courses, admins holding it together. The interesting part is not the CRUD, it is that the three roles need genuinely different views of the same data without three separate applications.

What we did

  • Three roles — student, teacher, admin — with separate dashboards and permissions, all on one Flask-Login session layer
  • Course CRUD with teacher assignment, student enrolment and grades tracked through the Enrollment model
  • Per-course scheduling with cascade delete, so removing a course cannot leave orphaned timetable rows
  • PayPal REST payouts in sandbox, with batch ID, amount, currency and recipient stored per user for an audit trail
  • SQLAlchemy plus Flask-Migrate, so the schema has a migration history rather than a hand-edited database

Stack

PythonFlaskSQLAlchemyFlask-MigrateSQLitePayPal REST API

Same
story?

If any of this sounds like your business, the first call is free and the quote is fixed.

polistudio@polistudio.pl

Prefer Telegram? @polistudio

No newsletter, no CRM drip. We reply, that’s it.

All cases