Skip to content

Latest commit

 

History

History
169 lines (116 loc) · 6.4 KB

README.md

File metadata and controls

169 lines (116 loc) · 6.4 KB

Course Allocation System

The course allocation system is a software tool designed to empower faculty administrators to efficiently assign courses to lecturers across various academic levels. This software streamlines the process of course management and allocation, allowing administrators to assign courses to lecturers based on their designated teaching levels. Additionally, it incorporates features to prevent the occurrence of duplicate course assignments to lecturers across different levels, ensuring a more organized and error-free course allocation process.

System Requirements

The system requirements are divided into two:

The minimum system requirement for this application to run is any system(PC) that possess the following attributes

  1. Hardware Requirements
    • 1gb ram system
    • 20gb rom
    • 1.2ghz processor and above
  2. Sofware Requirements
    • A Web Server e.g wamp,xamp, laragon etc.
    • PHP V8 and above
    • MySQL Database
    • Composer
    • Git (optional if you are cloning from github)

System Architechure

System architecture is a high-level design or blueprint that outlines the structure, components, and interactions of a system, helping to define how it will function and meet its objectives. It serves as a roadmap for designing and building complex systems, providing a clear and organized framework for development

Use case diagram

A use case diagram is a diagram that shows the interaction between users and a system, it also helps to understand how the system is used and different actions it can perform. "Use case Diagram"

Data flow diagram

A Data flow diagram shows how data moves through a system. It illustrates the flow of information between different processes, data sources and data destinations. "Dataflow diagram"

ERD (Entity Relationship diagram)

This diagram shows the relationship between entities in a database. It helps to understand the structure and organisation of data in a database system. ERD Diagram

Installation Guide

To install this software the system(PC) should possess the system requirements listed above.

Running this software project from GitHub involves a few steps. You can do this by either cloning the repository using Git or by downloading the project as a ZIP file.

Method 1: Cloning the Repository

STEP 1: Clone project

## Open your terminal and navigate to your project directory

cd your_project_directory

git clone https://github.com/oyenet1/course_allocation.git

# Navigate to the project folder
cd course_allocation

STEP 2: Set Up the Environment Configuration

#Copy the .env.example file to a new .env file:
cp .env.example .env

STEP 3: Install Project Dependencies

#Run composer install
composer install

STEP 4: Set Up the Environment Configuration

#Generate an application key:
php artisan key:generate

STEP 5: Create the Database

Create a new database on your local database server. Update the database connection information in the .env file:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_username
DB_PASSWORD=your_database_password

Step 6: Run Database Migrations and Seeders

The command below below will create tables and seed the tables with dummy data

    php artisan migrate:fresh --seed

Step 7: Start the Local Development Server

    php artisan serve

Step 8: Access Your Laravel Application

Open a web browser and navigate to http://127.0.0.1:8000 or the URL provided by the Laravel development server. You should see your Laravel application up and running locally

By default, Laravel will start the development server on http://127.0.0.1:8000

Method 2: Downloading as a ZIP File

Step 1: Go to the github repositoty

#Navigate to the GitHub repository of the project
Download the project as a ZIP file.

Step 2: Extract and save the file

Extract the ZIP file 
Into the the www folder of laragon 
After successful download of the project, Follow from step 2 of method 1. 

Features and Usage

The system has various features, highlighted below is some of the features and usage.

  1. Add Lecturer

    Lecturers from different departments can be added to the system by the administrator. Different lecturers from various fields can be added and levels and courses assigned to them. Lecturers can also be removed(Deleted) from the system. You can also search for lecturers on the system. Add lecturer Add lecturer success Lecturers Table Lecturer Deleted

  2. Add Course

    Courses varies across departments and levels.various courses can be added to the software which makes allocating courses easy. The software prevents duplication of assigning a course to different lectueres. Add Course Course added success Courses table Delete course

    Course Allocation to is made easy with this system. Couses can be allocated to lecturers and levels assigned to them. Courses can be added and updated. Course allocation shows the course, the lecturer assigned to the course, the level offering the course and the semester. Courses can also be dissociated from lecturer. Allocation form Allocation success Allocation table Allocation delete

  3. Add Level

    Courses have been arranged systematically for each level in an orderly manner. The system allows the admin to add different levels and also assign courses and lecturers to levels. Levels can also be removed from the system. Add Level Level Table Level Delete