A cross-platform Flutter application for tracking and sharing your Linux distribution journey. Keep a chronological history of the Ubuntu distributions you've used, create public profiles, and explore others' Linux experiences.
- 🔐 User authentication with Supabase
- 📊 Track your Ubuntu distro history chronologically
- 🌐 Public and private profiles
- 📱 Cross-platform support (Android, iOS, Web, Desktop)
- 🎨 Terminal-inspired dark theme
- 🔍 View other users' public profiles
lib/: Flutter application source codeandroid/: Android platform-specific code and configurationios/: iOS platform-specific code and configurationweb/: Web platform-specific code and assetslinux/: Linux platform-specific codemacos/: macOS platform-specific codewindows/: Windows platform-specific codedatabase/: Database schema and SQL scriptstest/: Unit and widget tests
- Flutter SDK installed (see official installation guide)
- Supabase account (sign up at supabase.com)
- Hosting account (optional, for web deployment - Vercel, Netlify, etc.)
- Create a new Supabase project at https://supabase.com
- Go to Settings > API to get your Project URL and anon public key
- Run the SQL script in
database/schema.sqlin your Supabase SQL editor to create the database schema with proper RLS policies
- Clone the repository
- Create a
.envfile in the root directory with your Supabase credentials:SUPABASE_URL=your_supabase_project_url SUPABASE_ANON_KEY=your_supabase_anon_key - Run
flutter pub getto install dependencies - Run
flutter runfor local development (specify platform with-dflag, e.g.,flutter run -d chromefor web)
The app will be available at your deployment URL.
User profiles can be accessed at your-deployment-url/username (where username is the user's email)
Add screenshots of the app here
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the GNU General Public License version 3 license.
- Environment variables are securely handled
- Input sanitization is implemented in the app
- Supabase handles authentication and data security