TwitterClone

A simplified Twitter/X clone built with Laravel 12, MySQL, and Laravel Sanctum.

Features

User registration & login (via Laravel Breeze + Sanctum)
User profile page with basic info (username, avatar placeholder)
Post feed (max 280 characters per post)
Create new posts
RESTful API with consistent response format
MySQL migrations & seeders
Swagger/OpenAPI documentation (TBD - Not implemented)
Tested with Pest (feature tests)
(unit tests not added)
Github Action to deploy to personal server via FTP

Tech Stack

Backend: Laravel 12 (PHP 8.2+)
Frontend: Blade with JS
Auth: Laravel Sanctum (API tokens & session-based)
Database: MySQL (via Laravel migrations/seeders)
Testing: Pest
Containerization: Laravel Sail (Docker) - for Local Development

Installation & Setup

$ git clone https://github.com/mohsinadeel/twitter_clone_assignment.git
$ cd twitter_clone_assignment
$ composer install
$ npm install
$ cp .env.example .env
$ php artisan key:generate
$ ./vendor/bin/sail up -d
$ ./vendor/bin/sail artisan migrate --seed
$ ./vendor/bin/sail artisan test