BSc Computing — Group Project
A web application for managing courses, instructors, students, and enrollments. It provides role-based access to create, view, and maintain course-related data and streamline academic workflows.
- Features
- Tech Stack
- Project Structure
- Getting Started
- Environment & Configuration
- Database Migrations & Seeding
- Building Frontend Assets
- Running Tests
- Contributing
- License
- Role-based authentication (e.g., Admin, Instructor, Student)
- CRUD for Courses, Instructors, Students, Enrollments
- Timetable / scheduling primitives
- Basic reports and exports
- Search & filters on key lists
- Server-side validation and flash messages
The exact feature set can evolve; adjust this list to match the current UI.
- Backend: PHP (Laravel)
- Templating: Blade
- Styles: LESS
- DB: MySQL / MariaDB (or PostgreSQL)
- Build: Composer, NPM
Check
composer.jsonandpackage.jsonfor exact versions used in this repo.
CourseManagement/ # Laravel application (app/, resources/, routes/, etc.)
Report/ # Project documentation / report artifacts
README.md
- PHP ≥ 7.4 (or version required by
composer.json) - Composer ≥ 2.0
- Node.js ≥ 16 & npm ≥ 8
- MySQL/MariaDB (or a supported database)
- OpenSSL extension enabled
git clone https://github.com/soman-maharjan/CourseManagement.git
cd CourseManagementcomposer installcp .env.example .env
# Update DB credentials and app URL/keys in .env
php artisan key:generateCreate an empty database and update .env:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=course_management
DB_USERNAME=root
DB_PASSWORD=secret
php artisan migrate
php artisan db:seed # if seeders are availableIf the project uses Laravel Mix or an older Elixir/Gulp pipeline:
npm install
# If using Mix:
npm run dev # build once
npm run watch # rebuild on changes
# If using legacy Gulp/Elixir:
# npm run gulp or gulp (depending on package.json scripts)php artisan serve
# http://127.0.0.1:8000php artisan test
# or: ./vendor/bin/phpunit- Fork the repo
- Create a feature branch:
git checkout -b feature/your-feature - Commit changes:
git commit -m "Add your feature" - Push branch:
git push origin feature/your-feature - Open a Pull Request
Please run linters/formatters and include tests where applicable.
This project is for academic purposes. If you want an explicit license, add one (e.g., MIT). By default, all rights reserved unless a license file is present.