GestHub
Full-stack ERP for internship management — secured API, role-based access, real-time dashboard
// At a glance
Problem
Internship programs — offers, applications, interns, and their projects — were tracked manually across spreadsheets and email, with no single system covering the full lifecycle for admins, supervisors, and interns.
Solution
Built a full internship management platform: a React/Vite PWA frontend (React Query, Tailwind, React Router) talking to a Laravel REST API, covering offer and application pipelines, intern records, and project/task management with a Kanban board, plus role-based dashboards for admins, supervisors, and interns.
// Key highlights
- →Role-based dashboards for admins/supervisors/interns with tailored analytics and progress tracking
- →Project and task management with a Kanban board that switches to a table view
- →team member assignment
- →Full offer and application pipeline
- →CSV/PDF export for intern and application lists
- →plus session and activity tracking
- →Deep personalization: themes/language switching/sidebar layout/notification preferences
// Demo // In action
Overview
GestHub is a full-stack ERP application designed to fully digitize and streamline the internship management process — from student applications through supervisor assignments to final evaluations.
Tech Stack
- Back-End: Laravel, Laravel Sanctum (token-based auth), Spatie Permission (roles & permissions)
- Front-End: React, Redux, Context API
- Database: MySQL
- Deployment: Netlify (front-end)
Key Features
- Secure API: Token-based authentication with Laravel Sanctum; all routes protected by role guards
- Role management: Multi-role system (student, supervisor, admin) powered by Spatie Permission
- Internship lifecycle: Full CRUD for internship offers, applications, assignments and evaluations
- State management: Redux for global app state, Context API for component-level sharing
- Real-time dashboard: Live stats on active internships, pending approvals and evaluation status
Architecture
The back-end exposes a RESTful API consumed by the React SPA. Sanctum issues short-lived tokens; Spatie middleware enforces permissions on every protected endpoint. The front-end uses Redux for normalised entity caching and optimistic updates.