GitHub - ShuvroWritesCode/classify-spl-1: This is git repository for our software project lab-01. All-in-one class management platform for students, with routines, announcements, resources and a vacant room finder. PHP · MySQL · JS. · GitHub
Skip to content

About

This is git repository for our software project lab-01. All-in-one class management platform for students, with routines, announcements, resources and a vacant room finder. PHP · MySQL · JS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Classify — All-in-One Class Management Platform

PHP MySQL JavaScript HTML5 CSS3/SCSS License: MIT

Classify is a web-based class management system that brings a university class's day-to-day essentials — routines, class work, announcements, academic resources, and room availability — into one place. It was built for students of the CSE department at the Islamic University of Technology (IUT), who otherwise had to track this information across scattered chats, drives, and notice boards.


Overview

Students juggle many disconnected sources: Google Classroom for assignments, messenger groups for Class Representative (CR) notices, shared drives for notes, and printed routines for schedules. Finding a free classroom for a group study session usually means walking the halls.

Classify gives each student a single authenticated dashboard that pulls these together and adds a database-backed Vacant Room Finder that answers "which classroom is free right now?" in one query.

Key Features

  • Secure user accounts — Sign-up and login with session-based authentication. Passwords are hashed with PHP's password_hash() / password_verify(), and registration validates email format, username uniqueness, and password strength (minimum 8 characters with uppercase, lowercase, digit, and special character).
  • Vacant Room Finder — Students select a day and class period; the app queries the routine database and returns every classroom that is free in that slot.
  • Section-wise class routines — Quick access to Section A and Section B schedules.
  • CR Announcements feed — A live announcement board (powered by a Google Apps Script web app) where Class Representatives post updates for the whole class.
  • Class Work hub — Central links to Google Classroom and other course platforms.
  • Essentials & Resources — Curated administrative links, academic resources, a seniors' shared drive, the class's own drive, and recommended learning material.
  • Profile management & contact page — Update profile details, end the session safely, send a message to the team, and browse an FAQ section.
  • Responsive UI — Mobile-friendly layout with a collapsible navigation bar, Swiper.js hero slider, and searchable dropdowns (Chosen.js).

Tech Stack

Layer Technologies
Frontend HTML5, CSS3, SCSS, JavaScript, jQuery, Swiper.js, Chosen.js, Font Awesome
Backend PHP (procedural, session-based auth)
Database MySQL (via mysqli)
Integrations Google Apps Script (announcements), Google Classroom, Google Drive

Project Structure

├── login.php        # Login page and authentication
├── Register.php     # Account registration with input validation
├── home.php         # Dashboard: routines, class work, CR announcements
├── course.php       # Essentials, resources, and Vacant Room Finder
├── contact.php      # Contact form and FAQ
├── connection.php   # MySQL connection configuration
├── functions.php    # Session/login helper (check_login)
├── css/             # Stylesheets (SCSS source + compiled CSS)
├── js/script.js     # Navbar, forms, and slider interactions
└── images/          # Static assets

Getting Started

Prerequisites

  • PHP 7.4+
  • MySQL / MariaDB
  • A local server stack such as XAMPP, MAMP, or WAMP

Installation

  1. Clone the repository into your web server's document root (e.g. htdocs/):
    git clone https://github.com/ShuvroWritesCode/Software-Project-Lab-01.git
  2. Create a MySQL database named login_sample_db with two tables:
    • student — id, e_mail, username, password
    • routine — room_no, day, time, vacant
  3. Update the credentials in connection.php if they differ from the defaults (root with no password on localhost).
  4. Start Apache and MySQL, then open http://localhost/Software-Project-Lab-01/login.php.

About the Course

Classify was developed for Software Project Lab-01, a 1.5-credit project course at IUT. Teams of up to three students design and deliver a complete web or app project over one semester under a faculty supervisor. A faculty committee then evaluates the final product, and each member is assessed on their individual contribution.

Team

Member
Iftekharul Haque Shuvro
Chowdhury Ashfaq
Tasrefee Mahmud Ridun

License

This project is licensed under the MIT License.

About

This is git repository for our software project lab-01. All-in-one class management platform for students, with routines, announcements, resources and a vacant room finder. PHP · MySQL · JS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages