Skip to content

A fun and chaotic learning project where I explored the wonders of Riverpod for state management and Supabase for backend magic. Packed with features like real-time chat, AI-powered dashboards, and community management, this app is my spaghetti-code masterpiece! 🍝

Notifications You must be signed in to change notification settings

MultiX0/viblify_app

Repository files navigation

My First Spaghetti Adventure with Riverpod and Supabase

Welcome to my learning journey, where spaghetti code meets Riverpod, Supabase, and pure developer chaos! This project was my first dive into building an app with some amazing features and, naturally, a lot of "Oh, that's how you don't do it!" moments. 🍝


Table of Contents


Introduction

This app marks the phase of my life where I boldly ventured into the world of Riverpod for state management and Supabase for backend magic. While the code might resemble a plate of spaghetti, it's a testimony to how fun and enlightening learning can be.

Disclaimer: The code is a mix of "What was I thinking?" and "Whoa, that actually works!" moments. Enjoy at your own risk. 😅

Also, fun facts:

  1. I completely misunderstood how databases work at first. I treated Supabase, a structured SQL database, like it was some sort of NoSQL playground. Turns out, SQL doesn't appreciate being ignored—lesson learned! 😂
  2. Instead of securely storing database credentials in an .env file, I went full "beginner mode" and hardcoded them right into the app files. Future me cringes every time I think about it. 😅
  3. DRY (Don't Repeat Yourself)? What even is that? I never met this person in my life. Why not copy-paste the same code all over the place and grow a massive codebase of identical lines? Turns out, maintaining that is not as fun as it sounds. 😆

Features

  1. Authentication:

    • # and registration screens.
    • Supabase-powered authentication.
  2. Community Management:

    • Create and manage communities.
    • Add moderators and edit community settings.
  3. AI Magic:

    • AI-powered image labeling and generation.
    • Chatbot features with animated responses.
  4. Chat System:

    • Real-time messaging with custom widgets.
    • Swipeable actions and reply functionality.
  5. Post and Feed Management:

    • Add posts and comment on them.
    • Tag-based feed filtering.
  6. User Profiles:

    • Edit profiles with custom avatars.
    • View user-specific feeds, stories, and liked posts.
  7. Dash Feature:

    • A Pinterest-like dashboard to discover new content.
    • AI-powered post classification and recommendations for exploring fresh posts.
  8. Say the Truth (STT) Feature:

    • Send anonymous messages to anyone to express your thoughts.
    • No worries about revealing your identity—just say what you’re thinking!
  9. Notifications:

    • Push notifications for updates.
    • Notifications for community activities.

Technologies Used

  • Frontend: Flutter, Riverpod
  • Backend: Supabase
  • State Management: Riverpod
  • Utilities: Firebase, Giphy API, Custom Utils

Getting Started

Prerequisites

  • Flutter SDK installed on your system.
  • A Supabase account with a configured project.

Installation

  1. Clone the repository:
    git clone https://github.com/MultiX0/viblify_app.git
  2. Navigate to the project directory:
    cd viblify_app
  3. Install dependencies:
    flutter pub get
  4. Run the app:
    flutter run

Screenshots

Coming Soon! (Because I forgot to take them while building. Classic me.)

Screenshot 1


Acknowledgments

  • Shoutout to Riverpod and Supabase for being awesome tools.
  • Thanks to my patience (and caffeine) for enduring hours of debugging spaghetti code.
  • A big thank you to SQL tutorials for rescuing me after I tried to treat Supabase like a NoSQL database. Who knew relational databases like relations?
  • Apologies to the .env file for not using it properly at the start. I promise to do better next time.
  • DRY (Don't Repeat Yourself)? Nah, I went full WET (Write Everything Twice) mode. Copy-pasting was my mantra until I realized that debugging 10 places for the same issue is a nightmare.
  • To my future self: "You've come a long way since this project. Be proud."

Feel free to explore, laugh, and perhaps shed a tear over the beauty of learning. 😄 Happy coding!

About

A fun and chaotic learning project where I explored the wonders of Riverpod for state management and Supabase for backend magic. Packed with features like real-time chat, AI-powered dashboards, and community management, this app is my spaghetti-code masterpiece! 🍝

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published