Skip to content

Project Technical Characteristics

Fred B edited this page Mar 16, 2022 · 4 revisions
  • Micro Frontends / micro services : each part of the layout (header, sidebar, body, pages, and footer) are containers that all live independently of each other. As such, they fetch the data they need and feed it to the children which compose their own branch of the components tree. Provides better separation of concerns, enhances code maintainability, and enables infinite scaling of features.

  • Flux Architecture : Redux + Sagas for efficient state management & and fine grain control on side effects processing such as async actions (ie fetching remote data from the API). Provides better separation of concern, enhances the system predictability, promotes code maintainability and performance through immutability patterns, one-way data flows by dispatching actions handled centrally, and by memoization of state selectors. Also greatly contributes to infinite scaling of features.

  • Functional programming & react hooks: components are for the great majority pure functions. Side effects are handled using hooks. Both make for a more predictable system. Allows to take full advantage of what ES6 and higher JavaScript has to offer : currying, generator functions, passing functions as props, composability, encapsulation, code reusability. Provides better separation of concerns and enhances code maintainability and performance through higher order & first order functions, lazy instantiation, chaining, piping and filtering.

  • Fine-grain exception handling : Any exception thrown during runtime, including API calls exceptions, are handled gracefully and in a user-friendly fashion.

  • Spotify API

    • Spotify Auth Code Flow Spotify-Authorization-Code-Flow

      Source

    • integration of Web API & PlaybackState SDK (in Beta as I write this on 20/11/2020)
  • Responsive design and touch friendly

Clone this wiki locally