Skip to content
LogoAhmed Gafsi
← All projects

Full-stack · Internship

OpusLab ERP

A custom ERP built during a bachelor's internship for a digital training school, covering HR, finance, sessions, assessments, and marketing.

Year
2023
Role
Bachelor intern · Full-stack developer
Main stack
Next.jsNode.jsMongoDBDockerAWS

Project gallery

1 / 3

Placeholder preview — not an actual project screenshot.

Reconstructed conceptual diagram. Internship project; not presented as currently in production.

01

Overview

OpusLab is a digital training school. It needed a single system to manage finances, students, staff, and trainers instead of scattered tools.

I designed and built a custom ERP during my bachelor's internship, with dedicated experiences for three roles.

02

My contribution

  • Designed and built the ERP to manage finances, students, staff, and trainers.
  • Implemented features for Administrator, Trainer, and Marketing Manager roles.
  • Built dashboards with Recharts and an API with Node.js and Express.js.
  • Containerised the application with Docker for deployment on AWS.

03

Key features

Administrator

HR, financial transactions, training sessions, and certificate generation.

Trainer

Assessments, calendar, and pedagogical follow-up of learners.

Marketing Manager

Advertising campaigns and performance dashboards.

04

Architecture & decisions

  • Role-based views keep each user focused on their own tasks.
  • A document database fitted the evolving shape of school records.
  • Docker made the environment reproducible from development to AWS.

05

Challenges & solutions

Three very different user roles
Separated features by role at both the API and interface level.
Certificate generation
Generated certificates from session and learner data to avoid manual edits.

06

Results & learnings

  • Translating real business processes into software.
  • Owning a product from design to deployment.

07

Technology stack

Frontend
Next.jsReactTypeScriptTailwind CSSRecharts
Backend
Node.jsExpress.js
Data
MongoDB
Cloud & delivery
DockerAWS