Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍽️ 배달 서비스 앱 프로토타입

Design Thinking 기반으로 설계한 Android 배달 서비스 애플리케이션

사용자가 음식과 배달 서비스를 보다 편리하게 이용할 수 있도록 로그인 → 메인 화면 → 음식/배달 서비스 → 알림의 사용자 흐름을 중심으로 설계한 Android 애플리케이션 프로토타입입니다.

본 프로젝트는 Design Thinking 프로젝트의 일환으로 사용자 관점에서 서비스의 문제를 정의하고, 핵심 사용자 경험을 Android 애플리케이션으로 구현하는 것을 목표로 제작되었습니다.


📱 Project Overview

이 프로젝트는 음식 배달 서비스를 이용하는 사용자가 필요한 기능에 쉽게 접근할 수 있도록 간단하고 직관적인 화면 구조를 제공합니다.

현재 구현된 주요 사용자 흐름은 다음과 같습니다.

        ┌──────────────┐
        │    Login     │
        └──────┬───────┘
               │
               ▼
        ┌──────────────┐
        │     Main     │
        └──────┬───────┘
               │
        ┌──────┴───────┐
        │              │
        ▼              ▼
   ┌─────────┐    ┌─────────┐
   │   Food  │    │  Alarm  │
   │ /Delivery│    │         │
   └─────────┘    └─────────┘

✨ Features

🔐 Login

Firebase Authentication을 이용하여 이메일과 비밀번호 기반의 로그인을 제공합니다.

  • 이메일 입력
  • 비밀번호 입력
  • 로그인
  • 로그인 상태 확인
  • 회원가입 화면 이동
  • 로그인 실패 시 안내 메시지

Firebase Authentication의 signInWithEmailAndPassword()를 사용하여 인증을 처리합니다.


👤 Sign Up

새로운 사용자가 이메일과 비밀번호를 이용해 계정을 생성할 수 있습니다.

Email
Password
   ↓
Firebase Authentication
   ↓
Account Created
   ↓
Main Screen

회원가입에는 Firebase Authentication의 createUserWithEmailAndPassword()를 사용합니다.


🏠 Main Screen

로그인 이후 접근하는 메인 화면입니다.

메인 화면에서는 사용자가 주요 서비스로 이동할 수 있도록 구성되어 있습니다.

현재 구현된 주요 메뉴:

  • 🍴 음식/배달 서비스
  • 🔔 알림
  • 🚪 로그아웃

음식 메뉴를 선택하면 HomeActivity, 알림 메뉴를 선택하면 AlarmActivity로 이동합니다.


🍴 Food / Delivery

음식 및 배달 서비스를 위한 화면입니다.

현재 UI에는 배달 메뉴와 음식 관련 콘텐츠 영역을 중심으로 구성되어 있으며, 향후 실제 음식점 및 메뉴 탐색 기능으로 확장할 수 있도록 설계되어 있습니다.

┌─────────────────────────┐
│ 로그아웃          🔔     │
├─────────────────────────┤
│ ←                       │
│                         │
│   [ 배달 ]              │
│                         │
│ ┌─────────────────────┐ │
│ │                     │ │
│ │    Food / Banner    │ │
│ │                     │ │
│ └─────────────────────┘ │
│                         │
└─────────────────────────┘

🔔 Alarm

알림 화면에서는 서비스와 관련된 알림을 확인할 수 있도록 구성되어 있습니다.

현재는 별도의 알림 상세 기능보다는 알림 화면으로 이동하고 이전 화면으로 돌아오는 기본 사용자 흐름을 구현한 상태입니다.


🚪 Logout

메인 및 음식 화면에서 로그아웃을 선택하면 로그인 화면으로 이동합니다.

현재 구현에서는 LoginActivity로 이동하는 방식으로 로그아웃 흐름을 구성하고 있습니다.


🧠 Design Thinking

이 프로젝트는 단순한 기능 구현보다는 사용자 경험을 중심으로 서비스를 설계하는 것을 목표로 했습니다.

1. Empathize

음식 배달 서비스를 이용하는 사용자가 어떤 불편을 경험하는지 파악합니다.

사용자는 무엇을 원하는가?
        ↓
음식을 쉽게 찾고 싶다
        ↓
현재 상태를 확인하고 싶다
        ↓
중요한 알림을 놓치고 싶지 않다

2. Define

사용자의 핵심 요구사항을 정의합니다.

"사용자가 음식 및 배달 서비스의 주요 기능에 빠르고 직관적으로 접근할 수 있어야 한다."

3. Ideate

사용자의 주요 행동을 중심으로 화면과 기능을 구성합니다.

  • 로그인
  • 회원가입
  • 음식/배달 서비스
  • 알림
  • 로그아웃

4. Prototype

Android 애플리케이션으로 실제 사용자 흐름을 구현합니다.

Login
  ↓
Main
  ├── Food / Delivery
  └── Alarm

5. Test

실제 Android 환경에서 화면 전환과 로그인 흐름을 테스트하고, 사용자 피드백을 기반으로 UI 및 기능을 개선할 수 있습니다.


🏗️ Architecture

현재 프로젝트는 Android의 Activity 기반 구조로 구성되어 있습니다.

┌─────────────────────────────┐
│       Android Client        │
│                             │
│  LoginActivity              │
│       ↓                     │
│  MainActivity               │
│      ├── HomeActivity       │
│      └── AlarmActivity      │
│                             │
│  SignActivity               │
└──────────────┬──────────────┘
               │
               ▼
      ┌─────────────────┐
      │ Firebase Auth   │
      └─────────────────┘

📂 Project Structure

Design_Thinking_app/
│
├── app/
│   ├── src/
│   │   └── main/
│   │       ├── java/
│   │       │   └── com/example/a1234/
│   │       │       ├── LoginActivity.java
│   │       │       ├── SignActivity.java
│   │       │       ├── MainActivity.java
│   │       │       ├── HomeActivity.java
│   │       │       └── AlarmActivity.java
│   │       │
│   │       ├── res/
│   │       │   ├── drawable/
│   │       │   ├── layout/
│   │       │   │   ├── activity_login.xml
│   │       │   │   ├── activity_signup.xml
│   │       │   │   ├── activity_main.xml
│   │       │   │   ├── activity_home.xml
│   │       │   │   └── activity_alarm.xml
│   │       │   ├── mipmap/
│   │       │   └── values/
│   │       │
│   │       └── AndroidManifest.xml
│   │
│   ├── build.gradle
│   └── google-services.json
│
├── gradle/
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle

현재 저장소의 Android 소스에는 총 5개의 주요 Activity가 있으며, 레이아웃 역시 Login, Signup, Main, Home, Alarm 화면으로 분리되어 있습니다.


🛠️ Tech Stack

Category Technology
Language Java
Platform Android
Build System Gradle
UI Android XML Layout
Authentication Firebase Authentication
Android Support AndroidX
Material UI Material Components
Layout ConstraintLayout

프로젝트는 Java 100%로 구성되어 있으며, Android 모듈에서는 androidx.appcompat, Material Components, ConstraintLayout, Firebase Authentication 등을 사용합니다.


🔥 Firebase Authentication

사용자 인증에는 Firebase Authentication을 사용합니다.

Login

firebaseAuth.signInWithEmailAndPassword(
    email,
    password
);

Sign Up

firebaseAuth.createUserWithEmailAndPassword(
    email,
    password
);

이를 통해 별도의 자체 인증 서버를 구축하지 않고 Firebase를 이용해 사용자 계정을 관리합니다.


🔄 User Flow

신규 사용자

App
 ↓
Login
 ↓
Sign Up
 ↓
Email + Password
 ↓
Firebase Authentication
 ↓
Main

기존 사용자

App
 ↓
Login
 ↓
Email + Password
 ↓
Firebase Authentication
 ↓
Main
 ├── Food / Delivery
 └── Alarm

로그인 성공 시 MainActivity로 이동하도록 구현되어 있습니다.


🚀 Getting Started

1. Clone Repository

git clone https://github.com/sujin0707/Design_Thinking_app.git
cd Design_Thinking_app

2. Open Project

Android Studio에서 프로젝트를 엽니다.

File
 → Open
 → Design_Thinking_app

3. Firebase 설정

Firebase Console에서 Android 앱을 등록한 후 Firebase Authentication을 활성화합니다.

프로젝트에는 Firebase Google Services 설정 파일이 포함되어 있습니다.

app/google-services.json

또한 Gradle에서 Google Services Plugin과 Firebase Authentication dependency를 사용하고 있습니다.

4. Build & Run

Android Studio에서 Emulator 또는 실제 Android 기기를 연결한 후 실행합니다.

./gradlew build

Windows에서는:

gradlew.bat build

⚙️ Android Configuration

현재 앱 모듈의 Android 설정은 다음과 같습니다.

Configuration Value
compileSdk 32
minSdk 21
targetSdk 32
versionCode 1
versionName 1.0
Java 1.8

현재 설정은 프로젝트에 기록된 app/build.gradle 기준입니다.


📱 Screen Structure

Login
 │
 ├── Sign Up
 │
 └── Main
      │
      ├── 🍴 Food / Delivery
      │
      └── 🔔 Alarm

각 화면은 Android Activity 단위로 분리되어 있습니다.

Activity Role
LoginActivity 로그인 및 인증 상태 처리
SignActivity 회원가입
MainActivity 로그인 후 메인 메뉴
HomeActivity 음식/배달 서비스
AlarmActivity 알림 화면

🎯 Project Goals

이 프로젝트의 핵심 목표는 사용자가 음식 배달 서비스를 이용하는 과정에서 필요한 기능을 간결하게 제공하는 것입니다.

특히 Design Thinking을 기반으로 다음과 같은 사용자 경험을 고려했습니다.

  • 복잡하지 않은 로그인 과정
  • 직관적인 메인 메뉴
  • 음식/배달 서비스에 빠른 접근
  • 알림 기능에 대한 명확한 접근
  • 화면 간 단순한 navigation

🗺️ Roadmap

Authentication

  • 로그인
  • 회원가입
  • Firebase Authentication 연동
  • 로그인 상태 확인
  • 로그아웃 시 Firebase 세션 종료
  • 비밀번호 찾기
  • 이메일 인증

Food / Delivery

  • 음식/배달 화면 UI
  • 음식점 목록
  • 음식 검색
  • 카테고리별 음식점
  • 메뉴 상세
  • 장바구니
  • 주문
  • 주문 상태 확인

Notification

  • 알림 화면
  • 주문 상태 알림
  • 프로모션 알림
  • Firebase Cloud Messaging 연동

User Experience

  • 사용자 피드백 수집
  • UI/UX 개선
  • 사용자 테스트
  • 접근성 개선
  • 반응형 UI 개선

🚧 Current Status

Prototype / Design Thinking Project

현재 프로젝트는 핵심 사용자 흐름과 UI 프로토타입을 중심으로 구현되어 있습니다.

현재 구현된 핵심 기능은:

  • Firebase 이메일/비밀번호 인증
  • 회원가입
  • 로그인
  • 메인 화면
  • 음식/배달 화면
  • 알림 화면
  • 화면 간 Navigation

이며, 실제 배달 플랫폼으로 확장하기 위해서는 음식점/메뉴 데이터, 주문 시스템, 결제, 실시간 주문 상태 등의 추가 구현이 필요합니다.


📸 Screenshots

README에 실제 애플리케이션 화면을 추가하면 프로젝트를 훨씬 빠르게 이해할 수 있습니다.

추천 구성:

Login
   ↓
Main
   ↓
Food / Delivery
   ↓
Alarm

추후 다음과 같은 형태로 스크린샷을 추가할 수 있습니다.

## Screenshots

### Login
![Login](docs/images/login.png)

### Main
![Main](docs/images/main.png)

### Food / Delivery
![Food](docs/images/home.png)

### Alarm
![Alarm](docs/images/alarm.png)

📄 License

현재 저장소에는 별도의 오픈소스 라이선스가 명시되어 있지 않습니다.

외부 공개 및 재사용을 허용할 계획이라면 향후 MIT 또는 Apache-2.0 등의 라이선스를 추가하는 것을 권장합니다.


🔗 Repository

GitHub Repository


💡 Summary

Design_Thinking_app은 Design Thinking 관점에서 음식 배달 서비스의 사용자 경험을 고민하고 이를 Android 애플리케이션으로 구현한 프로토타입입니다.

Understand Users
       ↓
Define Problems
       ↓
Design Experience
       ↓
Build Prototype
       ↓
Test & Improve

Design for users. Build with purpose. 🍽️

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages