This Laravel application is designed to serve as a content management system where teachers can upload educational content (such as videos and documents) for students. The application includes a user management system handled by an administrator, who oversees both teachers and students.
- Teacher Content Management: Teachers can upload videos and documents for students.
- Student Access: Students can view and download the content uploaded by their teachers.
- Administrator Control: The administrator has the authority to manage users (teachers and students), including creating, editing, and deleting accounts.
To set up the application locally, follow these steps:
-
Clone the Repository:
[git clone https://github.com/Paul-Ben/Zerahcds.git] cd Zerahcds -
Install Composer Dependencies:
Make sure you have Composer installed, then run:
composer install
-
Install NPM Dependencies:
Make sure you have Node.js installed, then run:
npm install
-
Create a Copy of the .env File:
cp .env.example .env
-
Generate an Application Key:
php artisan key:generate
-
Configure the .env File:
Open the
.envfile and update the necessary environment variables, such as database configuration, mail settings, etc.Example:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_username DB_PASSWORD=your_password
-
Run Migrations:
This will create the necessary database tables.
php artisan migrate
-
Seed the Database (Optional):
To add some dummy data for testing, you can run:
php artisan db:seed
-
Build node requirements:
Build node dependencies.
npm run build
-
Link the Storage:
Create a symbolic link from public/storage to storage/app/public to access uploaded files.
php artisan storage:link-
Run the Application:
Start the local development server:
php artisan serve
The application should now be running at
http://localhost:8000.
-
Administrator Account:
- After setting up the application, you'll need to create an administrator account to manage users. You can do this by registering through the app or directly inserting it into the database.
-
Teacher Account:
- Teachers can register themselves or be created by the administrator. Teachers can upload content and assign it to their respective classes.
-
Student Account:
- Students can also register themselves or be created by the administrator. They will have access to the content uploaded by their teachers.
-
Administrator:
- Manage user roles and permissions.
- Create and manage user accounts for teachers and students.
-
Teacher:
- Log in to your account.
- Upload videos and documents to your classes.
- Manage your content.
-
Student:
- Log in to your account.
- Access and download the content uploaded by your teacher.
This project is licensed under the MIT License. See the LICENSE file for details.
