Nexus Social
A multi-user blogging platform in PHP and MySQL, built during a Udemy course and extended with user drafts, profile pages, and a redesigned public site.
Certificates
Tech Stack :

Project Overview
Nexus Social is a multi-user blogging platform in plain PHP and MySQL, and my first PHP project. I built it in mid-2023 while taking the Udemy course PHP for Beginners - Become a PHP Master - CMS Project by Edwin Diaz and Coding Faculty Solutions.
The course's CMS project gave me the base: the database schema, the admin panel, likes, moderated comments, tag search, and the login and password-reset flow. On top of it, I replaced the Bootstrap theme on the public site with my own design, and let regular users write posts, save drafts, and manage their profiles there.
It is where I learned the web fundamentals that frameworks usually hide: sessions, SQL queries, file uploads, and server-rendered pages.
Key Features
- Authentication: login and registration with bcrypt password hashing
- Password recovery: email-based reset with token validation
- Personalized profiles: custom user profiles with avatar uploads
- Content creation: posts with image uploads and a draft system for saving before publishing
- Community engagement: likes, comments with admin approval, and search by post tags
- Category browsing: organized content discovery
- Admin CMS: a control panel for managing users, posts, comments, and categories
Technical Highlights
- Account flows: built following the course, with bcrypt hashing, password reset through an emailed token (PHPMailer), and PHP sessions
- Role-based access control: admin and user roles, and every admin page and handler sends non-admins back to the public site
- AJAX likes: a jQuery AJAX call updates the like count in place, without a page reload
- Styling: hand-written CSS for the public site's dark theme, plus Tailwind CSS compiled by an npm script
- UI polish: skeleton placeholders until the page loads, ScrollReveal animations, and SweetAlert2 delete confirmations
- Code organization: public pages (/dist), backend handlers (/includes), and the admin CMS in its own folder
My Contributions
- Replaced the course's Bootstrap theme on the public site with my own dark design, Nexus branding, and responsive layouts
- Adapted Creative Tim's Argon Dashboard 2 Tailwind template for the sign-in, sign-up, and password-reset pages, and a CodingLab sidebar tutorial for the admin panel
- Opened post writing to regular users on the public site, with drafts they edit and publish from their profile
- Built public profile pages, profile editing with avatar upload, and a password change that checks the current password
- Made admin deletes clean up related data: deleting a user also removes their posts, comments, and likes, and deleting a post removes its comments and likes
Challenges & Solutions
Challenge: In the course's CMS, posts are written in the admin panel. I wanted regular users to write, draft, and publish their own posts from the public site.
Solution: A public create-post page with upload checks (1 MB limit, JPG and PNG only), a drafts list on each profile, and edit and publish handlers that only accept the post's author.
Result: A working multi-user blog and my first end-to-end PHP application. If I built it again, I would add prepared statements, CSRF tokens, and reset links that expire.
Tech Stack
Frontend: HTML5, CSS3, JavaScript (ES6+), jQuery, Tailwind CSS 3.3
Backend: PHP 8.2, PHPMailer
Database: MySQL (MariaDB 10.4)
Infrastructure: Apache (XAMPP)
Tools: Composer, npm, ScrollReveal.js, SweetAlert2, Font Awesome
Need something like this?Tell me about your project