Skip to content

gilyerm/TestApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍽️ TestApp

A reference Android application for students

Java Android Firebase License

An educational example project demonstrating common Android development patterns — authentication, CRUD operations, Firebase integration, and clean layered architecture.


📋 Table of Contents

✨ Features

Feature Description
🔐 Authentication User registration & login
👤 User Profile View and edit profile with image support
🛒 Shopping Cart Create, view, and manage carts
🍕 Food Management Add and browse food items
🛡️ Admin Panel User management for administrators
📷 Image Support Camera and gallery integration
☁️ Cloud Database Firebase Realtime Database
💾 Local Storage SharedPreferences persistence

🛠️ Tech Stack

Technology Details
Language Java 11
Min SDK 35 (Android 15)
Build System Gradle 8.11.1
UI Material Design 1.12
Database Firebase Realtime Database
Serialization Gson 2.11

📁 Project Structure

app/src/main/java/com/example/testapp/
│
├── 📂 adapters/        # RecyclerView adapters
├── 📂 models/          # Data models (User, Food, Cart)
├── 📂 screens/         # Activities (UI layer)
├── 📂 services/        # Business logic & Firebase integration
│   └── 📂 Impl/       # Service implementations
└── 📂 utils/           # Validator, ImageUtil, SharedPreferences

🚀 Getting Started

Prerequisites

  • Android Studio (latest stable)
  • JDK 11+
  • A Firebase project with Realtime Database enabled

Installation

# 1. Clone the repository
git clone https://github.com/gilyerm/TestApp.git

# 2. Open in Android Studio

# 3. Add your google-services.json to the app/ directory

# 4. Sync Gradle & Run on emulator/device (API 35+)

Note

You must create your own Firebase project and download the google-services.json file from the Firebase Console.

🏗️ Architecture

The app follows a layered architecture pattern:

┌─────────────────────────────────────┐
│            Screens (UI)             │  ← Activities & user interaction
├─────────────────────────────────────┤
│         Services (Logic)            │  ← Interfaces + Implementations
├─────────────────────────────────────┤
│          Models (Data)              │  ← POJOs with Identifiable
├─────────────────────────────────────┤
│       Utils (Helpers)               │  ← Validation, images, storage
└─────────────────────────────────────┘
Layer Responsibility
Screens Activities handling UI and user interaction
Services IUserService, ICartService, IFoodService with concrete implementations
Models POJOs implementing Identifiable for generic CRUD
Adapters RecyclerView adapters for list displays
Utils Validation, image handling, and local storage helpers

📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


Made with ❤️ by Gilyerm

About

Example android app

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages