Skip to content

🖥️ Android приложение для управления каталогом PC компонентов с конструктором сборок и Firebase интеграцией

Notifications You must be signed in to change notification settings

nn80nn/PCcomponents

Repository files navigation

🖥️ PC Components

PC Components Logo

Мобильное приложение для управления каталогом компонентов ПК
Создавайте конфигурации, просматривайте готовые сборки и управляйте каталогом компонентов

Android Java Firebase Material Design


📋 Описание

PC Components — это современное Android-приложение, разработанное для энтузиастов сборки компьютеров. Приложение позволяет просматривать каталог компонентов ПК, создавать собственные конфигурации, изучать готовые сборки и управлять персональным профилем.

✨ Ключевые возможности

  • 🔍 Каталог компонентов - Обширная база данных с фильтрацией по категориям
  • 🔧 Сборщик ПК - Интуитивный инструмент создания конфигураций
  • 💻 Готовые сборки - Коллекция протестированных конфигураций
  • 👤 Профиль пользователя - Персонализация и управление аккаунтом
  • 🛡️ Админ-панель - Модерация контента для администраторов
  • 🔐 Безопасная аутентификация - Вход через email или Google

🏗️ Архитектура

Основные компоненты

📁 n.android.pc/
├── 🏠 MainActivity          # Главный экран с навигацией
├── 🔐 AuthActivity          # Аутентификация пользователей
├── ⚙️ AdminPanelActivity    # Панель администратора
├── 📱 Fragments/
│   ├── Components           # Каталог компонентов
│   ├── Assembly            # Сборщик ПК
│   ├── ReadyAssembly       # Готовые сборки
│   └── Profile             # Профиль пользователя
├── 🗂️ Models/
│   ├── Component           # Модель компонента
│   ├── PCBuild            # Модель сборки ПК
│   ├── ReadyPC            # Модель готовой сборки
│   └── User               # Модель пользователя
└── 🔧 Managers/
    ├── BuildManager        # Управление сборками
    ├── ReadyPCManager     # Управление готовыми ПК
    └── RoleManager        # Управление ролями

Технологический стек

Компонент Технология Версия
Язык программирования Java 11
SDK Android SDK 24-35
Backend Firebase BOM 33.14.0
UI Framework Material Design 1.12.0
Изображения Glide 4.16.0
База данных Firebase Realtime DB -
Аутентификация Firebase Auth 23.2.0

🚀 Быстрый старт

Предварительные требования

  • Android Studio Arctic Fox или новее
  • JDK 11 или выше
  • Android SDK с уровнем API 24+
  • Google Services аккаунт для Firebase

Установка

  1. Клонирование репозитория

    git clone https://github.com/your-username/PCcomponents.git
    cd PCcomponents
  2. Настройка Firebase

    • Создайте проект в Firebase Console
    • Добавьте Android-приложение с package name: n.android.pc
    • Скачайте google-services.json в папку app/
    • Настройте Authentication (Email/Password, Google)
    • Создайте Realtime Database
  3. Сборка приложения

    ./gradlew build
  4. Установка на устройство

    ./gradlew installDebug

Структура базы данных Firebase

{
  "components": {
    "cpu": { "component_id": { "name": "...", "price": "...", "specs": "..." } },
    "gpu": { "component_id": { "name": "...", "price": "...", "specs": "..." } },
    "ram": { "component_id": { "name": "...", "price": "...", "specs": "..." } }
  },
  "builds": {
    "user_id": {
      "build_id": { "name": "...", "components": {...}, "totalPrice": "..." }
    }
  },
  "ready-pcs": {
    "pc_id": { "name": "...", "components": {...}, "price": "...", "category": "..." }
  },
  "users": {
    "user_id": { "name": "...", "email": "...", "role": "user/admin" }
  }
}

🛠️ Команды разработки

Сборка

# Debug сборка
./gradlew assembleDebug

# Release сборка
./gradlew assembleRelease

# Очистка проекта
./gradlew clean

Тестирование

# Unit тесты
./gradlew test

# Интеграционные тесты
./gradlew connectedAndroidTest

Качество кода

# Проверка линтером
./gradlew lint

# Генерация отчета линтера
./gradlew lintDebug

📱 Скриншоты

Главный экран компонентов Форум сборок Сборки пользователя Профиль

🤝 Участие в разработке

Мы приветствуем ваш вклад в развитие проекта!

Как внести изменения

  1. Fork проекта
  2. Создайте feature branch (git checkout -b feature/amazing-feature)
  3. Commit ваши изменения (git commit -m 'Add amazing feature')
  4. Push в branch (git push origin feature/amazing-feature)
  5. Откройте Pull Request

Стиль кода

  • Следуйте Java Code Conventions
  • Используйте осмысленные имена переменных и методов
  • Добавляйте комментарии к сложной логике
  • Покрывайте новый код тестами

📄 Лицензия

Этот проект лицензирован под MIT License - см. файл LICENSE для деталей.

📞 Контакты


Сделано с ❤️ для сообщества PC энтузиастов

⬆️ Наверх

About

🖥️ Android приложение для управления каталогом PC компонентов с конструктором сборок и Firebase интеграцией

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages