A modern, responsive blog platform built with PHP and MySQL, featuring user authentication, post creation, and social media-like interactions.
- User Authentication (Login/Register)
- Profile Management with Profile Pictures
- Post Creation with Images
- Like and Repost Functionality
- Comment System
- Dashboard for User Posts
- Responsive Design
- Modern UI with Bootstrap 5
- Secure File Uploads
- Session Management
- Error Handling and Validation
- PHP 7.4 or higher
- MySQL 5.7 or higher
- Apache/Nginx Web Server
- XAMPP/WAMP (Recommended for local development)
- Modern Web Browser (Chrome, Firefox, Safari, Edge)
- Clone the repository to your web server directory:
git clone https://github.com/yourusername/daily-gist.git- Create a MySQL database:
CREATE DATABASE daily_gist;- Import the database schema:
mysql -u username -p daily_gist < database/schema.sql- Configure database connection:
- Edit
config/db_connect.phpwith your database credentials - Ensure proper permissions for the uploads directory
- Set up the uploads directory:
mkdir -p uploads/{posts,profile_pictures}
chmod -R 777 uploads- Configure web server:
- Ensure mod_rewrite is enabled for Apache
- Set proper document root permissions
blog_platform/
├── config/
│ └── db_connect.php
├── templates/
│ ├── auth.php
│ ├── dashboard.php
│ ├── index.php
│ ├── login.php
│ ├── logout.php
│ ├── nav.php
│ ├── post_create.php
│ ├── post_delete.php
│ ├── post_edit.php
│ ├── profile.php
│ ├── register.php
│ └── templates/
├── uploads/
│ ├── posts/
│ └── profile_pictures/
└── README.md
The database schema includes tables for:
- Users (authentication)
- Posts (blog content)
- Comments (post interactions)
- Likes (post engagement)
- Reposts (content sharing)
- Password hashing
- Prepared statements
- Input validation
- CSRF protection
- File upload validation
- Session management
- XSS protection
-
Create an account or login:
- Navigate to
/login.php - Register at
/register.php
- Navigate to
-
Create Posts:
- Go to
/post_create.php - Add title, content, and optional image
- Go to
-
Manage Profile:
- Visit
/profile.php - Update username, bio, and profile picture
- Visit
-
View Posts:
- Main page:
/index.php - User dashboard:
/dashboard.php
- Main page:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please:
- Check the documentation
- Search existing issues
- Create a new issue if needed
- Bootstrap 5 for UI components
- Font Awesome for icons
- jQuery for DOM manipulation
- MySQL for database
- PHP for backend logic