The Online Learning Platform is a robust e-learning solution developed using the PHP/Symfony framework with Twig templates. It empowers both instructors and students by offering features such as user registration, authentication, course creation, enrollment, learning path management, and progress tracking. The platform also includes an admin dashboard for administrative tasks.
-
User Registration and Authentication:
- Instructors and students can seamlessly register and authenticate on the platform.
-
Course Creation, Uploading, and Management for Instructors:
- Instructors enjoy the capability to create, upload, and manage courses effortlessly.
-
Enrollment, Learning Path, and Progress Tracking for Students:
- Students can easily enroll in courses, follow a structured learning path, and monitor their progress.
-
Symfony 6.3 Framework:
- Leveraged Symfony 6.3 as the core framework for efficient development.
-
Twig for Templates:
- Utilized Twig for crafting templates and rendering views.
-
Symfony Maker Bundle:
- Employed the Symfony Maker Bundle for streamlined creation of entities, controllers, migrations, and other essential components.
-
CRUD Operations:
- Implemented comprehensive CRUD operations for each entity where necessary.
-
Symfony Forms:
- Integrated Symfony Forms to facilitate user-friendly form interactions within the application.
-
Composer:
- Managed project dependencies effectively using Composer.
-
MySQL Database:
- Established a MySQL database to store user, course, and other relevant data.
-
Docker Compose:
- Implemented a Docker Compose file to create containers, ensuring a consistent development environment.
-
Doctrine ORM:
- Leveraged Doctrine ORM for seamless database interactions, including migration creation and application.
-
Config Files:
- Organized configuration settings using YAML files within the
config
directory.
- Organized configuration settings using YAML files within the
Before diving into the platform, ensure the following prerequisites are met:
- PHP: Have PHP installed on your local machine.
- Docker: Install Docker and Docker Compose on your local machine.
- Composer: Ensure Composer is installed to manage project dependencies.
-
Clone the repository:
git clone https://github.com/demarillacizere/online-learning-platform.git cd online-learning-platform
- Run your Composer to install all dependencies
composer install
- Create a
.env
file and copy environment variables for your database in the.env.example
file and ensure you assign the correct value.
- Run
docker-compose up --build
-
Create your database
php bin/console database:create
-
Create your database migrations:
php bin/console make:migration
-
Run the database migrations to create the required tables:
php bin/console doctrine:migrations:migrate
-
Start the development server:
symfony server:start
-
Access the site on
http//localhost:8000
after serving the symfony server.
- Access the site on
http//localhost:1001
- Access PHP MyAdmin server on
http//localhost:1002
and use the correct creedentials to login.
Contributions are welcome! Feel free to open an issue or submit a pull request.
This project is licensed under the Apache License.