haikelz / Bluebird-Frontend_Task

Bluebird Frontend Task Haikel Ilham Hakim

Home Page:https://bluebird-frontend-task-haikelilhamhakim.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bluebird Frontend Task

Internship Submission from Bluebird

About

  • Name: Haikel Ilham Hakim
  • College: ISB Atma Luhur
  • Major: Informatics Engineering

Task

You are asked to create a basic Booking and ride cars website (single-page application) with React. We provide you with a web page wireframe to follow and the requirements for each page below. Improve this wireframe with your own design and style. You are allowed to create your own assumption but you should write it in the readme.

Criteria

  • You should implement state management e.g Redux. => In this case, I use jotai instead of Redux.
  • You should implement react hooks useState.
  • You should implement react hooks useEffect.
  • You should implement react hooks useRef.
  • You should implement unit test with Jest and Enzyme. Coverage min 50%.
  • You should implement a hybrid application SSR and a CSR page is a big plus.
  • You should implement amp pages is a big plus.

Structure

structure of the website

Stack

In this test, I use:

  • Next JS appDir for Frontend Framework.
  • Typescript as main Language.
  • Tailwind CSS for CSS Framework.
  • Shadcn/ui for UI Components(since the deadline is only 2x24, I want to focusing more on finishing requested features).
  • Jotai for State Management.
  • Both SSR and CSR techniques.

Folder Structure

├── components.json
├── next.config.js
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── prettier.config.js
├── public
│   └── images
│       └── docs
├── README.md
├── src
│   ├── app
│   │   ├── favicon.ico
│   │   ├── my-book
│   │   ├── vehicle
│   │   │   └── [slug]
│   │   └── wishlist
│   ├── components
│   │   └── ui
│   │       └── typography
│   ├── features
│   ├── hooks
│   ├── lib
│   ├── store
│   └── types
├── __tests__
│   ├── home
│   ├── my-book
│   ├── vehicle
│   └── wishlist
├── tsconfig.json
└── turbo.json

Screenshots

ss 1

ss 2

ss 3

ss 4

ss 5

Video

video

Preview

Getting Started

  • Clone this repo.
  • Install all deps. I use pnpm, so I can type pnpm install.
  • After that, type pnpm run dev and see the result in http://localhost:3000

About

Bluebird Frontend Task Haikel Ilham Hakim

https://bluebird-frontend-task-haikelilhamhakim.vercel.app


Languages

Language:TypeScript 96.0%Language:CSS 2.5%Language:JavaScript 1.5%