A PHP-based blogging platform.
- Introduction
- Project Objectives
- Technologies Used
- Project Architecture
- Features
- Configuration and Deployment
- Contributions
- License
- Credits
This project is a blogging platform designed to enable users to create, manage, and publish articles. It is aimed at developers and content managers who need a flexible and extensible tool to manage blogs.
- Provide an intuitive user interface for article management.
- Allow easy customization via themes.
- Ensure optimal performance and security for users.
- Main Language: PHP
- Framework: Laravel
- Database: MySQL
- Front-end: HTML, CSS (with Tailwind CSS), JavaScript
- Dependency Management: Composer for PHP, npm for JavaScript
- Build Tools: Laravel Mix, Vite
- Testing: PHPUnit
The project follows an MVC (Model-View-Controller) architecture typical of the Laravel framework. This structure facilitates code maintenance and evolution.
- Models: Handle business logic and database interactions.
- Views: Responsible for displaying data to the user.
- Controllers: Manage user requests, manipulate models, and return appropriate views.
- User Authentication: Registration, login, and user management.
- Article Management: Create, edit, publish, and delete articles.
- Comment System: Users can comment on articles.
- Customizable Themes: Change the blog's appearance via themes.
- Markdown Support: Edit articles in Markdown for quick and effective formatting.
Project configuration is mainly done via the .env
file. Key points include:
- Database: Set up your MySQL database connection details.
- Mail: Configure mail settings for sending emails (SMTP).
- Cache: Configure cache options to improve performance.
Deployment can be done on any server supporting PHP and MySQL. It is recommended to use a dedicated server or cloud service to ensure optimal availability and performance.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make clear and detailed commits.
- Submit a pull request for review.