This repository contains a comprehensive CRUD (Create, Read, Update, Delete) application developed using PHP and CodeIgniter 3. The application demonstrates a well-structured MVC (Model-View-Controller) architecture with additional features for session management, validation, and security. It includes a HomeController
, CrudController
, CrudService
, CrudRepository
, and DatabaseModel
, along with a Validation Helper and View Handling.
- MVC Architecture: Organized code structure for maintainability and scalability.
- CRUD Operations: Perform Create, Read, Update, and Delete operations.
- Session Management: Secure and efficient session handling.
- Validation: Extensive form validation using CodeIgniter's
form_validation
. - Security: User passwords are stored using
password_hash
for enhanced security. - Unified Form: Registration and update are managed through a single form.
- Exception Handling: Proper exception handling throughout the application.
- Logging: Specific logging for tracking application behavior.
- Code Commenting: Well-commented code for better understanding and maintainability.
- Professional Project Structure: Adheres to professional standards for project creation and management.
- Register: Access the registration form to create a new user. Passwords are securely hashed using
password_hash
. - Update: Use the same form to update user information.
- Create: Add new records to the database.
- Read: Retrieve and display records from the database.
- Update: Modify existing records in the database.
- Delete: Remove records from the database.
- Controllers: Handle incoming requests and interact with services.
HomeController
: Manages the Login, Register, and Logout operations.CrudController
: Manages CRUD operations and interactions with services.
- Libraries: Contain business logic and act as intermediaries between controllers and repositories.
CrudService
: Handles the business logic for CRUD operations.
- Models: Represent database entities and handle data operations.
CrudRepository
: Mediator ofCrudService
andDatabaseModel
, managing data persistence and retrieval.DatabaseModel
: Contains all database-related operations.- View Handler: Manages the presentation layer of the application.
- Helpers: Provide utility functions for validation and other common tasks.
Validation Helper
: Manages form validation related functions.
- PHP (>= 7.4)
- MySQL
- Apache Server (or any compatible web server)
-
Clone the repository:
git clone https://github.com/SLoharkar/PHP-CodeIgniter-CRUD-Application.git cd PHP-CodeIgniter-CRUD-Application
-
Configure the database:
- Create a database in MySQL.
- Update the database configuration in
application/config/database.php
with your database credentials.
-
Run the migrations:
- Import the
database.sql
file located in the root of the project to your MySQL database. This will create the necessary tables.
- Import the
-
Configure the base URL:
- Update the base URL in
application/config/config.php
to match your local or production environment.
- Update the base URL in
-
Start the application:
- Place the project in the web root directory of your server (e.g.,
htdocs
for XAMPP). - Start the Apache server.
- Access the application via your browser at
http://localhost/PHP-CodeIgniter-CRUD-Application
.
- Place the project in the web root directory of your server (e.g.,
For a quick overview of the application, watch the video trailer below: