Course Manager is a Laravel-based React application designed for creating and managing courses with the ability to assign lessons, create quizzes, and manage user roles. This project provides a seamless interface for educators and learners to interact with course content in an organized manner.
- Course Management: Create, update, and manage courses easily.
- Lesson Assignment: Assign lessons to courses efficiently.
- Quiz Management: Create and assign quizzes to courses for student evaluation.
- User Roles: Admins can manage courses and lessons, while students can view courses and take quizzes.
- Responsive Design: Built with React for a modern and responsive user experience.
- Backend with Laravel: Leverages the power of Laravel for a robust and secure backend.
Explore the live demo here: Course Manager Demo
Follow these steps to set up the project on your local machine:
- PHP: Ensure PHP 8.0 or higher is installed.
- Node.js: Required for React and frontend dependencies.
- Composer: For managing PHP dependencies.
- MySQL: Or another compatible database.
-
Clone the Repository
git clone https://github.com/Apil-Khadka/Course-Manager.git cd Course-Manager -
Install Backend Dependencies
composer install
-
Install Frontend Dependencies
npm install
-
Environment Setup
- Copy the
.env.examplefile to.env:cp .env.example .env
- Update database credentials and other environment variables in the
.envfile.
- Copy the
-
Database Migration
php artisan migrate
-
Build Frontend Assets
npm run dev
-
Run the Application
php artisan serve
Access the application at http://localhost:8000.
- Create a Course: Use the intuitive interface to add a new course.
- Assign Lessons: Link lessons to specific courses.
- Create Quizzes: Add quizzes to courses for student assessment.
- Manage Content: Update or delete courses, lessons, and quizzes as needed.
- Student Interaction: Students can view courses, take lessons, and complete quizzes.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Description of feature" - Push to your fork:
git push origin feature-name
- Create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
If you encounter any issues or have questions, feel free to open an issue on the GitHub repository or contact the author.
Developed by Apil Khadka.