Skip to content

evaleries/gameoverflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GameOverflow

GameOverflow

Simple PHP MVC e-commerce, Project Pemrograman Berbasis Website - Tanpa menggunakan library/composer.

Ketentuan Project

  • Dilarang memakai library/composer.
  • Manajemen stok barang: 25 pts
    • Prosedur Penambahan barang baru
    • Prosedur Update barang
    • Prosedur Hapus stok barang
  • Mekanisme penjualan barang secara online: 25 pts
    • Prosedur keranjang belanja
    • Invoice & nota
    • Rekap harian / bulanan / tahunan
  • UI UX: 25 pts
  • Design DB, Keamanan, Auth, etc: 25 pts

Yang perlu dipelajari

Adapun materi dan refrensi yang didapatkan untuk membangun project ini:

Implementasi

List yang sudah diimplementasi:

  • Mengarahkan semua request ke satu file php
  • Routing (Url rewrite)
  • Service Container
  • Dependency Injection
  • Session (Session handling)
  • Request (Incoming request handler)
  • Database (Menggunakan PDO)
  • Helpers
  • Simple Closure Middleware (Fungsi pada routing yang akan dieksekusi sebelum meng-invoke controller/closure)
  • Middleware (Berupa class middleware)
  • View Templating (Memanfaatkan fungsi include, extract, serta RegEx)

Daftar fitur

  • Front page
  • Listing Products
  • Cart Session
  • Authentication
  • User - Dashboard
  • User - View Invoices
  • User - Redeem Games
  • Admin - Dashboard
  • Admin - Manage Products
  • Admin - Manage Orders
  • Admin - Orders Recap
  • Admin - Manage Categories
  • Admin - Manage Developers

Flow

Alur / Life-cycle dari Request -> Response

  1. Pipeline semua request ke public/index.php
  2. Register Services ke ServiceContainer. (Yang sudah di register: Request, Session, & DB)
  3. ROUTING: Regex url dengan routing yang sudah terdapat di routes.php
  4. ROUTING: Cari Parameter dengan tipe Class untuk di inject dengan Service yang tersedia di ServiceContainer.
  5. ROUTING: Invoke middleware yang telah didefinisikan pada routes
  6. ROUTING: Invoke controller setelah mengeksekusi middleware
  7. CONTROLLER: Mengeksekusi isi method dari controller.
  8. VIEW: Me render view. (Opsional)
  9. Exception: Menghandle apabila terjadi exception ketika proses eksekusi pada controller

Credits

Thanks to Colorlib & Stisla.

About

Simple PHP e-commerce without Library/Composer.

Topics

Resources

Stars

Watchers

Forks

Sponsor this project