Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/naufal-yafi/bluebird-frontend_task

Frontend React Developer Intern | PT. Blue Bird Tbk
https://github.com/naufal-yafi/bluebird-frontend_task

coverage-testing mui react

Last synced: 15 days ago
JSON representation

Frontend React Developer Intern | PT. Blue Bird Tbk

Awesome Lists containing this project

README

        

# Frontend React Task

I use React from Vite Typescript with UI Component from Material UI (MUI).
[πŸŽ₯ Video Preview App](https://youtu.be/IyI6kwAb6nc)

# Table of Content

- [Frontend React Task](#frontend-react-task)
- [Table of Content](#table-of-content)
- [Technology Used](#technology-used)
- [Requirements](#requirements)
- [Preview App](#preview-app)
- [Task](#task)
- [1. Home Page](#1-home-page)
- [1.1 Category list](#11-category-list)
- [1.2 Vehicle list](#12-vehicle-list)
- [2. Search Page](#2-search-page)
- [3. Vehicle Detail Page](#3-vehicle-detail-page)
- [3.1. This page will display if the user clicks on](#31-this-page-will-display-if-the-user-clicks-on)
- [My Book Page](#my-book-page)
- [Wishlist Page](#wishlist-page)

## Technology Used

Technology: [React + Vite + Typescript](https://vitejs.dev/guide/)
UI Component: [Material UI](https://mui.com/material-ui/)

[[Table of Content](#table-of-content)]

## Requirements

[βœ“] Redux
[βœ“] React Hook (useState, useEffect, useRef)
[βœ•] Unit Test (coverage 50%)
[βœ•] Hybrid App SSR and CSR _(big plus)_
[βœ•] AMP Pages _(big plus)_

[[Table of Content](#table-of-content)]

## Preview App

[πŸŽ₯ Video Preview App](https://youtu.be/IyI6kwAb6nc)

[[Table of Content](#table-of-content)]

## Task

### 1. Home Page

[βœ“] The page should get data from the API below to populate 2 sections
[βœ“] The menu bar should always hang on top of the page

#### 1.1 Category list

[βœ“] Should be able to slide/wipe
[βœ“] Should display category images from API
[βœ“] Should display its name

#### 1.2 Vehicle list

[βœ“] Should display unique random vehicle vehicles and image
[βœ“] Should display like status (love icon)

[[Table of Content](#table-of-content)]

### 2. Search Page

[βœ“] In the beginning, the page displays a search text box
[βœ“] When the user types vehicle in the search text box, vehicles detail displayed

[[Table of Content](#table-of-content)]

### 3. Vehicle Detail Page

[βœ“] The share button and like button should be able to use. No need to get/update data from API
[βœ“] The button β€œshare” will copy the URL to the clipboard and the user can paste it later
[βœ“] The button β€œLike” will add the vehicle to the list of wishlist vehicles. Allowed to store in state management
[βœ“] The button β€œBook” will add the vehicle to the list of purchased history. Allowed to store in state management

#### 3.1. This page will display if the user clicks on

[βœ“] One of the vehicles listed on the home page
[βœ“] One of the vehicles on the search result page
[βœ“] One of the vehicles listed on the MyBook history page
[βœ“] One of the vehicles listed on the wishlist page

[[Table of Content](#table-of-content)]

### My Book Page

[βœ“] This page will display if the user clicks on the MyBook menu at the above navigation on the Home page
[βœ“] The list of booked vehicles will grow if the use clicks β€œBook” on the vehicle detail page
[βœ“] If the user clicks on one of the vehicles on the list it will bring to the detail vehicle page
[βœ“] The back button will bring you back to the previous page

[[Table of Content](#table-of-content)]

### Wishlist Page

[βœ“] This page will display if the user clicks on the Wishlist menu at the bottom navigation on
the Home page
[βœ“] The list of wishlist vehicles will grow if use click β€œLike” on the love icon or vehicle detail
page
[βœ“] If the user clicks on one of the vehicles on the list it will bring to the detail vehicle page
[βœ“] The design is similar to the Purchase History page with the title β€œWishlist

[[Table of Content](#table-of-content)]