Skip to content

gcotcheza/workopia

Repository files navigation

Workopia - Job Listing Project

About the Project

This project was developed following the PHP From Scratch 2024 | Beginners to Advanced course, emphasizing the fundamentals of vanilla PHP in building a CRUD application in a framework-like manner without using any frameworks or libraries. The project is an exploration into architecting a web application following best practices in software development, structured to mimic the design patterns seen in popular PHP frameworks, such as Laravel, but all from scratch.

Highlights

  • Custom Laravel-like Router: Implementation of a router that supports HTTP methods, parameters, and middleware, teaching the intricacies of web request handling.
  • Framework and App Structure: The project is structured into two main folders, which will be called Framework and App. Framework will be the core that includes classes like Router, Database, Validation, and Session. App will include our controllers and views. This structure separates core functionalities from business logic, mirroring the organization of professional-grade PHP applications.
  • CRUD Operations: Creation of Create, Read, Update, and Delete functionalities for job listings, grounding the understanding of database interactions in PHP.
  • Authentication and Authorization: Building a secure system for user management and route protection, essential for any real-world application.
  • Search Feature: Development of a feature to search and filter job listings, enhancing the application's usability.
  • Data Validation and Sanitization: Ensuring data integrity and security through proper validation and using PDO for database interactions to prevent SQL injection.

Learning Outcomes

  • Solid understanding of the fundamentals of PHP programming, including data types, functions, loops, object-oriented programming (OOP), and database management.
  • Experience in building a complete CRUD web application without the crutch of frameworks or libraries, laying a solid foundation for understanding how frameworks like Laravel operate under the hood.
  • Skill in implementing a custom routing system that mimics Laravel's elegance but with the simplicity and direct control offered by vanilla PHP.
  • Proficiency in utilizing namespaces and PSR-4 autoloading to organize code efficiently, preparing for industry-standard PHP development practices.
  • Ability to craft a robust authentication system using sessions, a cornerstone feature for many web applications.

Key Skills Demonstrated

  • PHP Programming
  • MVC Architecture Understanding
  • Database Management with PDO
  • Secure Authentication Systems
  • Clean Code Practices and Project Organization

Acknowledgements

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published