Home
Softono
university-app

university-app

Open source CSS
33
Stars
15
Forks
0
Issues
9
Watchers
7 years
Last Commit

About university-app

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...

Platforms

Web Self-hosted

Languages

CSS

Links

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]
  2. Change config database, if required, at file /app/config.php

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

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

  5. 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
  6. 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
  7. Make

    composer install

    to download and install all packages and dependencies.

  8. 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