This is a PHP-based Blog System built with the MVC architecture and MySQL for data storage. The system allows users to create accounts, authenticate, manage their profiles, and post blog content. Admin users have additional control over user management. Key features include account activation, password recovery, and a user-friendly post management system.
- User Authentication: Secure login and registration with password hashing.
- Account Activation: Email-based account verification.
- Password Recovery: Reset forgotten passwords via email.
- User Management: Admin can manage user accounts; users can manage their own profiles.
- Blog Post Management: Create, edit, and delete blog posts.
- Categories: Organize posts with categories.
- Search: Search posts by keywords and categories.
- Pagination: Navigate through posts.
- User Roles: Different roles with specific permissions.
- PHP (for backend development)
- MySQL (for database management)
- MVC Architecture (Model-View-Controller)
- HTML/CSS (for frontend design)
- JavaScript (for client-side interactions)
- Bootstrap 5 (for CSS framework)
- Clone the repository:
git clone https://github.com/your-username/blog-system.git
- Navigate to the project directory:
cd blog-system
- Configure the database settings in
config/config.php
. - Move the project files to the XAMPP
htdocs
directory (usually located inC:\xampp\htdocs
on Windows or/Applications/XAMPP/htdocs
on macOS):mv blog-system /path-to-xampp/htdocs/
- Start XAMPP Control Panel and launch the Apache and MySQL services.
- Access the application at
http://localhost/php-blog-system/public
(adjust the URL if your project is in a subfolder withinhtdocs
).
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes and commit them (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a new Pull Request describing your changes.
If you have any questions or suggestions, feel free to reach out:
- Email: krisnaajiep@gmail.com
- GitHub: krisnaajie(https://github.com/krisnaajiep)