Let's create an Opensource Headless E-learning using Symfony
Tags: opensource, symfony, webdev, devlog
Published: 2024-05-30 11:20:11

Hello Everyone, let me just present myself... we have a long way together to build _The Headless E-Learning in Symfony_ 🔥

## Who Are you ?
My name is Issiakhem Mohamed Ramzi, 22, a passionate full-stack software engineer, for being passionate i really am, I started computer science at 14 YO with Java and POO, what a mess...
Otherwise, I build websites, Web applications and I'm starting my path on the OpenSource World !! 

## What are you doing here ? 
I wanna contribute to the community, especially to the opensource community, improve my skills and of course my network, you know... Hahaha

## The Devlog Serie
Now let's talk business, during this series of _**Devlogs**_, I will share with you the process of building an opensource _project_, it's my first time doing it, I count on your help and contributions 😉
 
What you will find here:

- The Project's ambitions evolution
- The Critical thinking behind important decisions
- The Design and conceptual study 
- The functionalities implementation
- The Obstacles and how we surpass them 
- Some Feedback from the community

## The Project Story !
Finally after a lot of blabla, let's start introducing the _Project_, _SymLearn_ ( Still a beta name ), is The Headless Opensource E-Learning using Symfony, I recently has a freelance project for the same kind of application and said to myslef: 

> Ramzi, is there any opensource project for my need ? 

And after some research, I found that, there is solutions but not using Symfony or that are not how I want, that's too bad 😏

## The Project's Ambitions

> Sky is your limit 

That's some good introduction to talk about the SymLearn ambition and functionalities, we aim to make the most _efficient, easy to use and deploy_ headless e-learning in Symfony !
In few clicks, you will be able to use a complete solution to manage your backend.
What we want is:

- **Extensibility:** Capability to add new features easily.
- **Usability:** Ease of use and user-friendly interface.
- **Modularity:** Different components and modules activated on demand.
- **Documentation:** Comprehensive and clear documentation for developers and users.
- **Flexibility:** Easy to customize and enhanced flexibility.
- **Security & Authentication:** A complete security system tailored to your needs
- **Continuous Integration/Continuous Deployment (CI/CD):** Automated processes for code integration and deployment.
- **Testing:** Rigorous and automated testing to ensure code quality.

## The project functionalities:

In this part, we'll take a look at the core functionalities that will be available on _SymLearn_ :

- **User Management:** A complete user management system ( authentication, authorization, profile, courses overview, rbac, progress... )

- **Course Management:** Manage the modules,courses,chapters and lessons structure.

- **Workspace and groups:** Create workspace with predefined groups and assign courses according to the group and the workspace.

- **Assesment and evaluation:** Create Quizzes,exams, automatic and manual grading.

- **Tracking & Reporting:** Track the completion, attendance and progression for students and courses, create completion certificates


- **Gamification:** Badge and achievements system, score systems with leaderboards.

## What's Next ?
All of this can not be done as a solo developer, that's when I need your help to make it real ( I was writing "WE" during the post but yeah, I'm still solo 😔 
Feel free to comment or ask any questions you have in mind ! 

If you've read this far, I'm sure you're interested in the project. [Join our Discord server](https://discord.gg/eBqTKrYPPm) to stay in touch! 😁