Giter Site home page Giter Site logo

nvdai2401 / hiha-store-ts Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 10.08 MB

HiHa Store is a reliable, scalable and maintainable front-end application.

Home Page: https://nvdai2401.github.io/hiha-store-ts/

Dockerfile 0.17% HTML 6.40% TypeScript 58.03% JavaScript 1.49% SCSS 33.82% Shell 0.09%
typescript reactjs redux firebase

hiha-store-ts's Introduction

HiHa Store TypeScript

CI/CD

Visit the store: https://nvdai2401.github.io/hiha-store-ts

HiHa Store is a reliable, scalable and maintainable front-end application.
Read the application architecture to explore awesome things that makes the application reliable, scalable and maintainable.

HiHa Store TypeScript is a big upgrade version of HiHa Store JavaScript. I built this app to apply a scalable architecture and experiment best practices that I've learnt for one year. You should read the HiHa Store JavaScript firstly and then explore this application codebase to see the magic behind the scene.

Requirements

Techniques

  • Splitting code by route using React Lazy API to decrease the bundle size of each route
  • Use Critical FOFT with Data URI for web font with sessionStorage trick for repeat view optimization
  • Persist and reselect data of Redux store to decrease request and rerender times
  • Use lazy loading image with Dominant Color Placeholder by scaling down the image to down to a 1ร—1 pixel and then scaling it up to the size of the placeholder

Tech stack

  • Language: Typescript
  • Library: React, React-router, Redux, Redux-saga, Reselect, Redux-persist
  • Styles: SCSS
  • Tools: Firebase, Docker, ImageKit

Installation guide

  1. Download zip file or type this command into your terminal git clone [email protected]:nvdai2401/hiha-store-ts.git
  2. Run yarn to install essential dependencies
  3. Run yarn start to start the web app. The app will run at localhost:3003

Todo list

  • Add safer type checking for saga, utilities, firebase helpers
  • Develop additional features
    • Improve product image quality and improve lazy loading image
    • Notify user when adding a product to cart successfully
    • Develop product detail page
    • Use auth token instead of checking firebase session
    • Improve SEO performance by using SSR and adding meta tags
  • Develop a server to serve this app
  • Write unit tests

Demo

Mobile version

Desktop version

hiha-store-ts's People

Contributors

nvdai2401 avatar michaelnguyen2401 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.