Skip to content

Aplikasi iOS Advanced Level To Do List dengan Firebase (Firestore, Firestore Swift, Auth, Database, Function, dan Storage), SwiftUI, dan MVVM Design Pattern

License

dekapd99/Tasker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tasker

Aplikasi Tasker adalah aplikasi iOS To Do List (Advanced Level) yang dibuat menggunakan Firebase (Firestore, Firestore Swift, Auth, Database, Function, dan Storage), SwiftUI, dan MVVM Design Pattern.

Preview

Folder & File Structure

Berikut struktur file dan folder pada Tasker:

.
├── TaskerApp.swift            # Root Project: Konfirgurasi Firebase Firestore
├── ContentView.swift          # Tampilan Beranda Aplikasi
├── Assets                     # Aset Logo dan Warna
├── Component                  # Component: Berisikan Recyclable Element (Button, Search Bar, dan Text Field)
│   ├── SearchBarView.swift           # Berisikan UI Forms Search Bar
│   ├── BackgroundGradientView.swift  # Berisikan UI Background Gradient Color 
│   ├── TODOButtonStack.swift.        # Berisikan UI TODO Button Horizontal Stacks 
│   ├── AddTODOLogo.swift             # Berisikan Tampilan UI Ketika TODO List Kosong 
│   ├── LogoView.swift                # Berisikan Tampilan UI Logo di Halaman Login dan Register 
│   ├── BlankView.swift               # Berisikan Tampilan Overlay ketika Pop Up Create TODO
│   ├── AuthenticateButtonView.swift  # Berisikan UI Tombol Auth (Login & Register) 
│   ├── CustomTextEditor.swift        # Berisikan UI Forms TODO Descriptions 
│   └── TextFields                    # Component -> TextFields: Berisikan Placeholder Custom TextFields 
│       ├── CustomTextField.swift     # Berisikan Custom Text Field untuk Input Segala Jenis Forms 
│       ├── EmailTextField.swift      # Berisikan UI Forms Email Text Field 
│       ├── CustomSecureField.swift   # Berisikan Custom Secure Field khusus untuk Input Forms Password 
│       ├── PasswordSecureField.swift # Berisikan UI Forms Password Text Field 
│       ├── UserTextField.swift       # Berisikan UI Forms User Text Field untuk Input Data Pribadi User 
│       └── TODOTextField.swift       # Berisikan UI Forms TODO User Field untuk Input Data Title TODO 
│
├── Model                     # Model: Firebase Data Declaration (Collection)
│   ├── Constant.swift        # Berisikan Akses Firestore dan Akses Entitas "users" di Collection
│   ├── AppUser.swift         # Berisikan Data Declaration untuk Informasi Users 
│   ├── TODO.swift            # Berisikan Data Declaration untuk Informasi TODO 
│   ├── SelectedButton.swift  # Berisikan All Case Category dari TODO
│   └── MockData.swift        # Berisikan data Dummy di Preview SwiftUI
│
├── ViewModel                # ViewModel: Fungsi CRUD (TODO & Auth)
│   ├── AuthViewModel.swift  # Berisikan Fungsi Login / Register / Sign Out 
│   └── TODOViewModel.swift  # Berisikan Fungsi Load, Create, Delete, Complete, & Uncomplete TODO 
│
└── View                      # View: Controller UI & Frontend Related (Show & Get)
    ├── DashboardView.swift   # Berisikan Tampilan Dashboard
    ├── TODOView.swift        # Berisikan Tampilan TODO (Card)
    ├── CreateTODOView.swift  # Berisikan Tampilan Pop Up Create TODO
    └── Auth                  # View -> Auth: Berisikan Tampilan Halaman Autentikasi User
        ├── LoginView.swift   # Berisikan Tampilan Halaman Login
        └── SignupView.swift  # Berisikan Tampilan Halaman Register 

Features:

  • CRUD -> Task, Kategori Task, Search History, dan User
  • MVVM Design Pattern
  • Login
  • Register
  • Filter Kategori
  • Search

Build With:

Installation

Untuk menggunakan repositori ini, ikutilah petunjuk penggunaan berikut dan pastikan git sudah terinstall pada komputer (semua perintah dilaksanakan pada cmd.exe atau terminal):

  1. Lakukan download .zip atau clone repositori dengan cara:
git clone https://github.com/dekapd99/Tasker.git
  1. Jika sudah silahkan buka Project di Xcode.
  2. Buka website Firebase dan lakukan Login, kemudian klik Go To Console dan Add Projects. Pastikan namanya adalah "Tasker" dan matikan Google Analytic karena tidak diperlukan.
  3. Tambahkan iOS pada Project Tasker di Firebase Console.
  4. Pastikan nama Bundle ID sesuai dengan Bundle ID Project di Xcode dan Klik Register.
  5. Setelah itu, Download Config File (GoogleService-Info.plist) yang diberikan oleh Firebase dan klik Next.
  6. Drag & Drop Config File (GoogleService-Info.plist) yang diberikan oleh Firebase ke dalam Project Navigation.
  7. Pastikan Cek: Build Setting > Always Embed Swift Standard Libraries (Set to YES) & Build Active Architure Only (Set to YES).
  8. Kembali ke Firebase Console > Buka Side Bar > Klik Build > Firestore Database > Klik Create Database > Start Test Mode & Set Cloud Firestore sesuai Default
  9. Kembali ke Firebase Console > Build > Authentication > Sign-in Method > Add New Provider (Enable Email & Password)
  10. Build & Run

License

MIT License: Copyright (c) 2022 DK

(back to top)

About

Aplikasi iOS Advanced Level To Do List dengan Firebase (Firestore, Firestore Swift, Auth, Database, Function, dan Storage), SwiftUI, dan MVVM Design Pattern

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages