- Targets : leaning and investigate MVC and Relation DB Design with Laravel(php) and MySQL
Jim is a lecturer at a community college, and he wants an application to help him to keep track of the students he is advising. He wants to know which students register for which courses in which semester and what grade they got in those courses. He also wants the application to be password protected, with each user having a different login and password, and it must keep track of user lo gins/outs. Your job as a database developer is to design a database that will serve as the back-end of either a web-based or client-server based application. This database must capture and store all the relevant persistent data that will be used by the application
- Install PHP lastest version
- Setup Empty Laravel Project
- Setup Dev Enviroment for laravel and Learn the basic elements
- Design Relational DB
- Setup Test Enviroment and design test strategies
- Design
- CRUD forms
- Layout and templates ( bootstrap )
- Modified CRUD forms with new UI
- Simple Authentication : Login
- Migration : Data seed
- CRUD Users
- Service: mailer
- Ion Authentication: login,reset password
Jim is a lecturer at a community college, and he wants an application to help him to keep track of the students he is advising. He wants to know which students register for which courses in which semester and what grade they got in those courses. He also wants the application to be password protected, with each user having a different login and password, and it must keep track of user lo gins/outs. Your job as a database developer is to design a database that will serve as the back-end of either a web-based or client-server based application. This database must capture and store all the relevant persistent data that will be used by the application
Keywords:
- lecturer
- advising
- students
- register
- courses
- semester
- grade
- application
- password protected
- logins/logouts
- web-based : web server
- client-server : api service
- database
- capture, store
- relevant persistent data
Entity
- user ( lecturer )
- student
- course
- student course ( courseid,studentid, semester, grade )
Domain
- Track of the students whom the lecturer advise
- Lecturer wants to know which students register for which courses in which semester and what grade they got in those courses
- The application must be password protected
- The system must keep track of user logins/logouts
php artisan make:migration create_users_table # already exists, so need to modified
php artisan make:migration create_students_table
php artisan make:migration create_course_table
php artisan make:migration create_studentcourses_table- email length : https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address/44317754 (suggested 320)
Focus on the heart of software. The heart of software is solving the user's domains.
- http://ryantablada.com/post/two-design-patterns-that-will-make-your-applications-better
- https://viblo.asia/p/the-repository-design-pattern-AeJ1vONQGkby
- https://shawnmc.cool/2015-01-08_the-repository-pattern
- https://heera.it/laravel-repository-pattern
- http://slashnode.com/the-repository-pattern/
- https://itnext.io/repository-design-pattern-done-right-in-laravel-d177b5fa75d4




Laravel Apache Config