---
# System prepended metadata

title: Customer App Sprint 10

---

# Customer App Sprint 10

## Preparation
### Backend
Initialization: **`4hrs`**
### Flutter
- Internationlization **`3hrs`**
	- RTL Support flutter
    - [Flutter Docs](https://docs.flutter.dev/development/accessibility-and-localization/internationalization)
    - [Blog](https://www.logiak.com/blog/directionality-in-flutter)
    - Global config for switching language
    - Global class for saving literals (in both languages)
- OTP 
    - OTP verification flutter widget **`0.5hr`**
        - [package](https://pub.dev/packages/otp_text_field)
    - OTP RESEARCH generation and Authentication **`BE`** `2hrs`
        - [Auth0 links](https://auth0.com/docs/authenticate/passwordless/authentication-methods/sms-otp)
- Pagination, Load on scroll @flutter **`1.5hr`**
- Navigate to google maps on click **`0.5hr`**
    - Research Gmaps APIs **`0.5hr`**
- **Deep Linking** for notifications 
    - Deep Linking **`2hrs`**
    - Actions for notificications (meta data) **`2hrs`**
- Overflowing in row (my car page) **`1hrs`**
- Supporting different device screens **`0.5hrs`**
- Safe Area **`0.5hrs`**
- Unit testing in flutter.. **`2hrs`**
    - TDD
- Project Structure (Design patterns) in flutter
    - BLoc
    - Providers
    - getx
    - DI in flutter
- Repo initialization on Bitbucket **`0.5hr`**
- Theme preparation and default colors **`3hr`**
- Bottom nav + basic look and feel **`2hr`**
- Response parsing in flutter **`2.5hr`**

----

## `ND-826` - Intro

### Backend
*na*
### Frontend
Package: [link](https://pub.dev/packages/carousel_slider)
Estimate: **`3hrs`**

## `ND-818` - Signin
### Backend
Estimate: **`5hrs`** (worst case, not using 3rd party)

### Frontend
- Two different screens
- OTP Widget
Estimate: **`3hrs`**


**Integration: `1hrs`**

## `ND-820` - Periodic Checkup

### Backend
- UserReservation table + repo + service + controller + unit tests `8hrs`
    - Include whether first checkup or second checkup in table
    - Include status of reservation
    - GET user checkups overview for given month
    - GET last user checkup
    - GET grouped checkup history

- Autocare locations table + repo + service + controller + unit tests `3hrs`
### Frontend
- Date localization **`1hr`**
    - [stackoverflow](https://stackoverflow.com/questions/53264072/changing-date-formatters-locale)
#### Checkup overview
- Overview widget **`3hrs`**
- Scheduled widget **`2hrs`**
- History item widget **`-hrs`**
- Location item widget **`1.5hrs`**
- Page **`3hrs`**
    - Appbar
    - Integration with BE
    - Compiling different sections + 'view all' buttons
    - Date formatting
#### Checkup history
- Year picker widget **`1hrs`**
- Scroll and Load for pagination **`1hrs`**
- Page **`2hrs`**
    - Integration
    - 2 for loops
    - reuse history widget

## `ND-823` - Referral
### Backend
- **⚠️ DEPENDENCY:** add referral field
- Research Dataverse SDK package (nest.js)
- Research Dataverse endpoint
- Create repo for contacts service
Estimate: **`3hrs`**

### Frontend
- Form
- Call endpoint
Estimate: **`2.5hrs`**

## `ND-824` - Services
### Backend
- Serivces endpoint + service + table + repo + unit tests **`3hrs`**
    - Get services summary
    - Get service details + first 3 locations
- Service locations endpoint + service + table + repo + unit tests **`3hrs`**
     - Get location details

### Frontend
- Service item widget
- Service details page
    - Service overview widget
    - Location item widget (reuse)
    - View all button
- All locations screen
- Location details screen
    - Location image
    - Fields
    - Button


Estimate: **`8hrs`** + **`2.5hrs`** integration


## `ND-825` - View More
### Backend
- My Car dataverse service + endpoint **`3hrs`**

### Frontend
- Header
- Item widget
- Special item (copy button)
- My car header widget
- 3 Sections
    - Data Fields in each section
- Settings page: readonly fields
- Logout (delete stored tokens)

Estimate: **`8hrs`** + **`1hrs`** integration

## `ND-819` - Notifications
### Backend
- initialize firebase sdk **`1.5hrs`**
- background service for trigger
    -  research **`2.5hrs`**
    -  implementation **`3hrs`**
-  Notification controller + service + repo + unit tests **`3hrs`**

### Frontend
UI: **`2hrs`**
Listening for incoming notification: **`2hrs`**