A simple REST API for creating and managing short URLs, built with Laravel 12 (PHP 8.2) and Docker. This project is a pet project and serves as a demonstration of Micro SaaS architecture with online Postman documentation.
- PHP 8.2
- Laravel 12
- Docker / Docker Compose
- MySQL
- Composer
- Postman (for API documentation)
- Create new tasks
- Retrieve all tasks
- Update and delete tasks
- Mark tasks as completed / uncompleted
- Filter tasks by status
git clone https://github.com/lifan2029/URL-Shortener-API
cd URL-Shortener-APIcp .env.example .envDB_CONNECTION=mysql
DB_HOST=shortener_mysql
DB_PORT=3306
DB_DATABASE=shortener
DB_USERNAME=shortener_user
DB_PASSWORD=BioNIerICuLShOthdocker compose up -d --builddocker compose exec shortener_php composer installdocker compose exec shortener_php php artisan key:generatedocker compose exec shortener_php php artisan migrate| Method | Endpoint | Description |
|---|---|---|
POST |
/api/v1/make-short-url |
Make short url |
POST |
/api/v1/statistic/{short_code} |
Get statistic url |
GET |
/{short_code} |
Redirect from short url |
Example request (create a task):
POST /api/v1/make-short-url
{
"original_url": "https://github.com"
}The online Postman collection is available here:
👉 Open Postman Collection
docker compose exec shortener_php php artisan migrate:fresh --seed # Recreate DB with seed data
docker compose exec shortener_php php artisan test # Run tests
docker compose logs -f shortener_php # View container logsDeveloped by lifan2029 — Fullstack developer.
If you like this project, feel free to ⭐ star it on GitHub!
🧠 This project was created for demonstrate Laravel API development with Docker.