Skip to content
XGNoir95Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

141 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OctaByte Logo

OctaByte

Your All-in-One PC Building & Tech Marketplace
Built with Flutter Β· Powered by Firebase

Flutter Dart Firebase Platform License


πŸ“– Overview

OctaByte is a feature-rich, cross-platform Flutter application designed for PC enthusiasts, gamers, and tech shoppers. It combines a custom PC Builder tool, a peer-to-peer Marketplace, a social Community wall, and curated Tutorials β€” all wrapped in a sleek dark-themed UI with amber accents.

The app uses Firebase as its backend for authentication, real-time database, cloud storage, and push notifications, providing a seamless and responsive user experience.


✨ Features

πŸ–₯️ OctaBuilder β€” Custom PC Builder

  • Browse and select components: CPU, GPU, Motherboard, RAM, Storage, PSU
  • Add peripherals: Monitor, Keyboard, Mouse, Headphones, Casing
  • Real-time price aggregation for your build
  • Save builds to Firestore and view Build History
  • Searchable component catalog with detailed specs

πŸ›’ Octane β€” Marketplace

  • Upload products for sale with image, name, price, and description
  • Browse listings from all users in a real-time feed
  • In-app chat between buyers and sellers
  • View product details with integrated chat room
  • Track Purchase History from your profile

πŸ’¬ Octagram β€” Community Wall

  • Post messages visible to all users in real-time
  • Like and interact with community posts
  • Timestamped feed sorted chronologically
  • Signed-in user identity displayed per post

πŸ“š Octahub β€” Tutorials

  • Curated video tutorials for PC building and tech topics
  • Integrated Flick Video Player for in-app playback
  • Organized tutorial listings with thumbnail previews

πŸ”” Notifications

  • Firebase Cloud Messaging (FCM) for push notifications
  • Local notifications with custom payloads
  • Contextual notifications triggered on feature navigation (e.g., welcome messages)
  • Notification settings screen

πŸ‘€ User Profile & Authentication

  • Firebase Authentication (Email & Password)
  • User registration with First Name, Last Name, Username, and Email
  • Editable profile with profile picture upload (Firebase Storage)
  • Forgot password flow with email reset
  • Sign-out functionality

🎨 UI/UX Highlights

  • Animated Lottie splash screen on app launch
  • Dark-themed design with amber accent colors
  • Bottom navigation bar with Dashboard, Trending, and Profile tabs
  • Image carousels on the Trending screen (auto-play & manual control)
  • Smooth page indicators and custom scaffolds
  • Responsive layouts with flutter_screenutil

πŸ—οΈ Architecture

lib/
β”œβ”€β”€ main.dart                     # App entry point & Firebase init
β”œβ”€β”€ lottie.dart                   # Animated splash screen
β”œβ”€β”€ navigation_menu.dart          # Bottom navigation controller
β”œβ”€β”€ firebase_options.dart         # Firebase platform config
β”œβ”€β”€ dp.dart                       # Display picture utilities
β”‚
β”œβ”€β”€ auth_screens/                 # Auth state management
β”‚   β”œβ”€β”€ auth_page.dart            # Login/Register toggle
β”‚   └── main_page.dart            # Auth state wrapper
β”‚
β”œβ”€β”€ interface_screens/            # Authentication UI
β”‚   β”œβ”€β”€ login_page.dart           # Sign-in screen
β”‚   β”œβ”€β”€ register_page.dart        # Registration screen
β”‚   └── forgot_pw_page.dart       # Password reset screen
β”‚
β”œβ”€β”€ navibar_screens/              # Main tab screens
β”‚   β”œβ”€β”€ dashboard_screen.dart     # Feature grid (Builder, Market, Community, Tutorials)
β”‚   β”œβ”€β”€ trending_screen.dart      # Deals & banner carousels
β”‚   β”œβ”€β”€ homepage_screen.dart      # User profile & settings
β”‚   └── notification/             # Push & local notification services
β”‚       β”œβ”€β”€ NotificationPage.dart
β”‚       β”œβ”€β”€ firebase_api_noti.dart
β”‚       β”œβ”€β”€ notificationService.dart
β”‚       └── settings_screen.dart
β”‚
β”œβ”€β”€ dasboard_screens/             # Feature modules
β”‚   β”œβ”€β”€ pc_builder/               # OctaBuilder
β”‚   β”‚   β”œβ”€β”€ core/                 # Component data (CPU, GPU, RAM, etc.)
β”‚   β”‚   β”œβ”€β”€ models/               # Component UI & detail screens
β”‚   β”‚   β”œβ”€β”€ pages/                # Builder screen, collection page, build history
β”‚   β”‚   └── peripheral/           # Peripheral accessories data
β”‚   β”‚
β”‚   β”œβ”€β”€ marketplace/              # Octane Marketplace
β”‚   β”‚   β”œβ”€β”€ marketplace_screen.dart
β”‚   β”‚   β”œβ”€β”€ products/             # Product model, widgets, details
β”‚   β”‚   β”œβ”€β”€ chat/                 # In-app messaging (Chatbox, ChatPage)
β”‚   β”‚   └── buy/                  # Purchase history
β”‚   β”‚
β”‚   β”œβ”€β”€ community/                # Octagram Social Wall
β”‚   β”‚   β”œβ”€β”€ community_screen.dart
β”‚   β”‚   β”œβ”€β”€ models/               # Wall post model
β”‚   β”‚   └── reWidgets/            # Post button & reusable widgets
β”‚   β”‚
β”‚   └── tutorials/                # Octahub Tutorials
β”‚       β”œβ”€β”€ tutorials_page.dart
β”‚       β”œβ”€β”€ tutorials_screen.dart
β”‚       └── tutorials_screen2.dart
β”‚
β”œβ”€β”€ reusable_widgets/             # Shared UI components
β”‚   β”œβ”€β”€ custom_scaffold.dart
β”‚   β”œβ”€β”€ custom_scaffold2.dart
β”‚   β”œβ”€β”€ custom_scaffold3.dart
β”‚   └── reusable_widget.dart
β”‚
β”œβ”€β”€ database/                     # Firestore abstraction
β”‚   └── firestore.dart
β”‚
└── utils/                        # Utility functions
    └── color_utils.dart

πŸ› οΈ Tech Stack

Layer Technology
Framework Flutter 3.x (Dart β‰₯ 3.2.3)
Auth Firebase Authentication
Database Cloud Firestore
Storage Firebase Storage
Messaging Firebase Cloud Messaging + Flutter Local Notifications
State Mgmt GetX (get) + Provider
Navigation GetX routing + Material page routes
Video Flick Video Player + Video Player
Animations Lottie
UI Google Fonts, Iconsax, Carousel Slider, Smooth Page Indicator
Image Picker image_picker
Responsive flutter_screenutil
Permissions permission_handler
Reactive RxDart

πŸš€ Getting Started

Prerequisites

  • Flutter SDK β‰₯ 3.x (Install Flutter)
  • Dart SDK β‰₯ 3.2.3
  • Firebase CLI (Firebase setup)
  • Android Studio / Xcode (for mobile) or Chrome (for web)

Installation

  1. Clone the repository

    git clone https://github.com/XGNoir95/OctaByte.git
    cd OctaByte
  2. Install dependencies

    flutter pub get
  3. Configure Firebase

    The project includes a pre-configured firebase_options.dart. If you need to connect your own Firebase project:

    flutterfire configure

    Ensure the following Firebase services are enabled in your console:

    • Authentication (Email/Password provider)
    • Cloud Firestore
    • Firebase Storage
    • Cloud Messaging
  4. Run the app

    # Android
    flutter run
    
    # iOS
    flutter run -d ios
    
    # Web
    flutter run -d chrome
    
    # Windows
    flutter run -d windows

Generate App Icons

flutter pub run flutter_launcher_icons

πŸ“± Supported Platforms

Platform Status
Android βœ…
iOS βœ…
Web βœ…
Windows βœ…
macOS βœ…
Linux βœ…

πŸ—‚οΈ Firestore Collections

Collection Description
users User profiles (name, email, avatar URL)
Posts Firestore Database posts
User Posts Community wall messages with likes
products Marketplace product listings
builds Saved PC build configurations

πŸ“Έ App Flow

Splash Screen (Lottie Animation)
        β”‚
        β–Ό
  Auth Gate (Login / Register)
        β”‚
        β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚         Bottom Navigation           β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚Dashboard β”‚ Trending β”‚ Profile β”‚  β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚              β”‚           β”‚
        β–Ό              β–Ό           β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚PC Builderβ”‚  β”‚ Carousels β”‚  β”‚ User Info     β”‚
  β”‚Marketplaceβ”‚ β”‚ Hot Deals β”‚  β”‚ Edit Profile  β”‚
  β”‚Community β”‚  β”‚ Flash Saleβ”‚  β”‚ Purchase Hist β”‚
  β”‚Tutorials β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ Past Builds   β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β”‚ Notifications β”‚
                               β”‚ Sign Out      β”‚
                               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is private and not published to pub.dev. All rights reserved.


Built with ❀️ using Flutter & Firebase

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages