This is a fully functional Blog Application built using Flutter with a scalable Clean Architecture and Supabase as the Backend‑as‑a‑Service (BaaS).
It includes user authentication, blog creation with images, tagging, and a clean, maintainable folder structure.
The app is designed for:
- 🧑💻 Developers learning scalable Flutter architecture
- 🚀 Teams building production‑ready apps
- 📝 Users who want to create and publish blog posts with images and tags
- 🔧 Anyone looking for an example of Flutter + Supabase best practices
- Email Sign‑In / Sign‑Up
- Secure user session handling
- Built using Supabase Auth
- Create blog posts
- Upload an image with each post
- Add multiple tags
- Store metadata like title, content, author, timestamp
- Fetch posts from Supabase database
- Supabase Auth
- Supabase Storage (for blog images)
- Supabase Database (blog table)
This project uses a production‑ready layered architecture:
- Presentation Layer → UI + State Management (Bloc / Provider)
- Domain Layer → Entities + Use Cases
- Data Layer → Repositories + Data Sources
- Core Layer → Constants, Errors, Utilities
This ensures:
- Better testability
- Easier scaling
- Low coupling
- High readability
This app is built with long‑term scalability in mind:
Each feature (auth, blogs, user profile, etc.) can be expanded independently.
Although this app uses Supabase, you can replace it with:
- Firebase
- Appwrite
- Your own backend
…without changing UI logic.
All data passes through well‑defined Use Cases and Repositories.
This guarantees easy debugging and feature expansion.
- Flutter (Dart)
- Supabase
- Bloc / Provider (depending on your project setup)
- Clean Architecture
- Image Uploading with Supabase Storage
git clone https://github.com/tm33976/Blog-App.git
cd Blog-Appflutter pub getlib/core/secrets/app_secrets.dart
Add:
const supabaseUrl = "YOUR_SUPABASE_URL";
const supabaseAnonKey = "YOUR_SUPABASE_ANON_KEY";flutter runThis Blog App showcases:
- Proper clean architecture
- Real-world Supabase integration
- Image uploading
- Tag‑based blog creation
- Complete auth flow
It is scalable, maintainable, and ready to be used as:
- A learning template
- A personal project
- A base for a production app
Feel free to fork and improve!