Skip to content

boomcamp/PHP7-OOP-app

Repository files navigation

Grading System

This is the practical week in which you are going to demonstrate Object Oriented approach and PHP 7 lessons that you have learned including its design patterns, this template is pre-configured to use PDO queries and have some examples that you can use to help you build this application from scratch.

Installation

Run ./install.sh to install the project dependencies.

Objects

index.php = The main landing page of the application

pages/example_page.php = Example page template

interface/IExample.php = Example interface class

abstract/AExample.php = Example abstract class

interface/IDbCredentials.php = Stores the database configuration

classes/Connection.php = Singleton database class connection of the application

models/Contacts.php = The data layer of the application

Design Constraints

  • Bootstrap or any CSS framework you prefer.

Database

bc_school.sql

  • Users = id, email, password
  • Course = id,name
  • Student = id, user_id, course_id, fullname
  • Criteria = id, name

Example criteria for grading:

	Assessments
	Toy problems
	Mini Project
	Fullstack Projects
  • Grade = id, criteria_id, student_id

Example on how to get the percentage :

 Final grade % = ((items - total) / items)

Requirements

  • Source code should be organized
  • Use of PHP 7 new syntax
  • Use of Polymorphism (Interface and Abtract class or Traits)
  • Atleast one of these methods (Overriding, Overloading or Method Chaining)
  • Implementation of PDO connection class
  • Implementation of namespace and autoloader class
  • Implementation of dependency injection

Features

  • A responsive layout
  • A home page
  • A way to Login/Logout a user
  • A way to display a list of contacts
  • A way to CREATE,UPDATE and DELETE a contact
  • Design pattern and security should be documented at DESIGN_SPECS.md.

Finished

Submit a link to your fork of this repository to the Google Classroom assignment related to this project.

About

Grading System Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published