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.plPrefer Telegram? @polistudio