Skip to content

PHP7 Courses management application, with subjects, students, grades and registrations support. Feel free to use this application to manage a small school, institute, academy or similar...

License

Notifications You must be signed in to change notification settings

jlrtutor/university-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Courses management application, with subjects, students, grades and registrations support

Requires PHP 7.x, MySQL 5.4.x

v0.1.1
08/04/2019
(c)Juan Luis Ramírez Tutor
Email: [email protected]
GitHub: https://github.com/jlrtutor
LinkedIn: https://es.linkedin.com/in/juan-luis-ramirez-tutor
Languages supported: english|spanish

Feel free to use this application to manage a small school, institute, academy or similar, where you have to control the student's registration, grades, etc...

Please, report any issue you may have using this application.

#Installation

  1. Create an empty database
    | name: university
    | user: root
    | password: [empty]
  1. Change config database, if required, at file /app/config.php

  2. Upload and execute "database.sql" onto your database.

  3. The application is prepared to run into a folder called "university-app", so the URL would be: http://localhost/university-app

  4. If the application is installed into another folder, change the path on the following file /app/config.php, line 2

define( 'BASE_URL', '/university-app/');  //WEB directory, external path url
  1. Locale (spanish default), choose english (en-EN) or spanish language (es-ES) by changing /app/config, line 10:
define( 'LANG', 'es-ES');   //es-ES|en-EN
  1. Make
composer install

to download and install all packages and dependencies.

  1. LOGIN. Enter URL base. You must authenticate before you use this application:
    | user: [email protected]
    | password: admin

##Technical notes

The framework used in this project was created from scratch, thinking on an easy and fast development.

It implements a system based on a data model, where you define basically all the fields that the model needs and its relationships with other tables or entities. So, the system can validate data automatically, for example:

$this->field('id',         'integer', ['PK'=>true, 'validate'=>false] );
$this->field('student_id', 'integer', ['FK'=>true]); //FK of Student table
$this->field('course_id',  'integer', ['FK'=>true]); //FK of Course table
$this->field('level',      'integer');
$this->field('date_of_creation','date', [ 'validate'=>false,
                                          'required'=>false, 
                                          'default'=>date('Y-m-d') ] );

Here you can see the entity registrations and its fields and relationships with other tables, like Student and Course.

These relationships make it easier to obtain information from foreign tables:

//Load object Registration
$obj_registration = new Registration($id);
//Binding with Students table
echo "The name of the students is: " . $obj_registration->getStudent()->name;
echo "And he courses " . $obj_registration->getCourse()->name;

App structure


/app
    /Http
        /Controllers
        /Models
    /public
        /views
            //...
/vendor

About

PHP7 Courses management application, with subjects, students, grades and registrations support. Feel free to use this application to manage a small school, institute, academy or similar...

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published