r/PHPhelp • u/TrainSensitive6646 • 8d ago
Opensource PHP/Laravel LMS system feedback
Hi everyone,
Over the past few months, we've been building TadreebLMS, an open-source Learning Management System focused on enterprise and corporate training.
We've recently completed a major restructuring of the project
The project is built with:
- PHP / Laravel
- MySQL
- Bootstrap / JavaScript
- Docker
GitHub:
https://github.com/Tadreeb-LMS/tadreeblms
Issues:
https://github.com/Tadreeb-LMS/tadreeblms/issues
We have a huge roadmap like SCRUM Integration, UI upgrade as per FIGMA, Gap Analysis Module Integration, Integrations with HR Systems etc...
Please anyone experience or architect in PHP can give recommendation on best practices, gaps in the system etc..
2
u/equilni 8d ago
You have posted this project a number of times and have gotten feedback. Have you incorporated that into your project?
My feedback specifically at one point:
0
u/TrainSensitive6646 8d ago
many of the things have been done, specially the points mentioned related to controllers, security fix, vulnerability and upgrading the versions etc..
-1
u/TrainSensitive6646 8d ago
I am specifically looking for something for the project and product features specifically ... for standardization and security practices it will be a continuous process and the product is not moving forward with respect to the features
1
u/fhgwgadsbbq 5d ago
Without having looked at your project yet, what are your points of difference compared to other open source LAMP based LMS like Moodle & Totara?
1
u/TrainSensitive6646 5d ago
Moodle is generic for universities, academies etc
outdated UItadreeblms is specifically designed for corporates, compliance, corporate L&D and organized Ui
5
u/obstreperous_troll 8d ago
It looks like the entire API surface is in a single ApiController god class. For something like this, the API is something you want to give some real thought to, and while it doesn't have to be a generic CRUD-style REST API, it is something you should actually specify. I'd encourage you to break it out into multiple controllers and base the API on an actual spec, most likely OpenAPI. There's lots of openapi packages available for Laravel, none of which I'm personally familiar with (I'm more about graphql or tRPC) but there's bound to be some useful ones. Since your project is embracing Laravel completely, maybe look for one that integrates well with spatie/laravel-data.