A simple real-time chat application built with SwiftUI (iOS) and Laravel API Backend.
This project was created as a portfolio project to demonstrate full-stack mobile development, including:
- iOS Frontend (SwiftUI)
- REST API Backend (Laravel)
- SQLite Database
- Message Storage & Retrieval
- User-to-User Messaging
✅ Send Messages
✅ Retrieve Chat History
✅ Store Messages in Database
✅ Laravel REST API
✅ SwiftUI Chat Interface
✅ Message Bubbles
✅ Timestamp Display
✅ Receiver Information Header
- SwiftUI
- MVVM Architecture
- URLSession
- Codable
- Laravel 12
- PHP
- REST API
- Eloquent ORM
- SQLite
ChatApp/
│
├── chat-frontend/
│ ├── SwiftUI Application
│ ├── Views
│ ├── Models
│ └── Networking
│
└── chat-backend/
├── Laravel API
├── Controllers
├── Models
├── Migrations
└── Database
POST /api/send-messageRequest Body:
{
"sender_id": 1,
"receiver_id": 2,
"message": "Hello John!"
}Response:
{
"status": "success",
"data": {
"id": 1,
"sender_id": 1,
"receiver_id": 2,
"message": "Hello John!"
}
}(Add screenshots here later)
cd chat-backend
composer install
php artisan migrate
php artisan serveBackend runs at:
http://127.0.0.1:8000
Open ChatApp.xcodeprojRun the application using:
iPhone Simulator
Make sure the API base URL points to the Laravel backend.
This project helped me learn:
- SwiftUI Development
- REST API Integration
- Laravel Backend Development
- Database Design
- JSON Serialization
- API Testing with Postman
- Git & GitHub Workflow
- User Authentication
- Login Screen
- Registration Screen
- Profile Picture Support
- Read Receipts
- Typing Indicator
- Online Status
- Real-time Messaging (WebSockets)
- Push Notifications
- Dark Mode
- Message Search
Evelyn Callista Yaurentius
GitHub: https://github.com/CallistaEve