Routine Management System

Routine Management System

25-02-2022 12:00:00


Project Overview

This project was created using Laravel 7 and mysql on my last semester as my final year project. The database design was completely done my me as my first laravel project I tried my best to make it as optimize as possible. Most of the complicated DB queries created with raw query as I was not much familiar with eloquent relationships at the beginning but recently I have worked with a team and improved my coding structure as well as eloquent relationship knowledge. This project was appreciated by my university faculty as it’s almost a new concept of migrating a manual routine system to an automated one. As I can say this was not completed entriely because I was working alone in this project but I can surely say that I have gained alot of real world experience.

(I am working on this project currently to modify unoptimized codes and Integrating AdminLTE 3)

The scope for works include the followings:

  • System study of the manual system practiced for class routine management.
  • Design and Development a dynamic web application for faculty.
  • Implementation of Class Routine Management System.
  • Maintenance of the Class Routine Management System.

Some Screenshots

Teachers

Teacher Update

Batch Wise Student

Time Slot

Courses

Time Wise Class Slots

Teacher / Batch wise routine list

Batch Routine PDF

Batch Routine View

Teacher Routine PDF

Teacher Routine View

Main Routine Sheet

Day WIse Time Slot with Class Slot Count

Modules:

SLModule TitleDescription
1Batch
  1. Create Batch with Department, Batch No. and Shift
  2. Edit / Delete Batch
2Departments
  1. Create Departments (example: CSE, MBA etc.)
  2. Edit / Delete Departments
3Courses
  1. Create Courses with Course Code, Credit and Course type (example: Data Communication-CSE435-3-Theory etc.)
  2. Edit / Delete Courses
    4Rooms
    1. Create Rooms with Building, Room no, Capacity (example: A-101-Theory, B-203-Lab etc.)
    2. Edit / Delete Rooms
    5Sections
    1. Create different sections and their sub sections including their type (example: A-Theory, A1-Lab)
    2. Edit / Delete Sections
    6Sessions & Yearly Sessions
    1. Create Sessions (example: Fall, Summer, Spring)
    2. Edit / Delete Sessions3. Generate Yearly Sessions every year which includes sessions (example: Fall-2020, Summer-2020, Spring-2020)
    3. Activate or Deactivate yearly sessions
    7Teacher Ranks
    1. Create Teacher Ranks (example: Lecturer, Sr. Lecturer)
    2. Edit / Delete Teacher Ranks
    8Teacher Management
    1. Add New Teacher with their corresponding information which includes role, rank and photo etc.
    2. Edit / Delete Teacher Data
    3. Assign teachers off day
    4. Assigning teachers in routine committee
    5. Inviting Teachers with expire time of accessing the main sheet
    6. Revoke access of main sheet
    9Teacher Workloads
    1. Assign courses to teachers including the yearly session
    2. Edit / Delete Workload Data
    10Student Management Batch & Section Wise
    1. Assign number of students in a batch including the yearly session and shifts
    2. Assign number of students theory and lab wise
    3. Edit / Delete Assigned Data
    11Time Slot Management
    1. Create Time Slots by Start time and end time
    2. Edit / Delete time slots
    12Course Offers
    1. Assign Courses to Batch with sessions
    2. Edit / Delete Course offers data
    13Day wise time & Class slot management
    1. Assign Time Slots to Days
    2. Assign Class Slots to Day and time slot
    3. Edit Information of day
    14Assign Data in Main Sheet
    1. Assign data (Teacher, Course, Room) in main sheet
    2. Edit Assigned Data
    15Routine View & Download
    1. List view for batch and teachers
    2. Search Teacher and batch view
    3. Download as PDF

    Installation

    After cloning this repo create an .env file and copy everything from .env.example

     cp .env.example .env 

    It will create a copy of .env.example as .env

    Now open the .env file you just created and give a database name on DB_DATABASE as you want
    Suppose the database name is routine
    The database configuration will look like this

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=routine
    DB_USERNAME=root
    DB_PASSWORD=

    After that create a database named as “routine” which I used as an example above

    Now install all composer packages

     composer install 

    Now generate an APP_KEY

     php artisan key:generate 

    Then run migration as well as db:seed command to get some pre-existing data to get started with the project

     php artisan migrate:fresh --seed 

    Now you can serve the project or run with xampp anyway you prefer

    To serve with artisan

     php artisan serve 

    Now you can run the project with localserver accessing this url below:

     http://127.0.0.1:8000 

    Admin Credentaials:

    Username superadmin
    Password 123456

    Teacher/User Credentaials:

    Username maqsudur_rahman
    Password 123456