-
Notifications
You must be signed in to change notification settings - Fork 1
Project Technical Characteristics
-
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
-
Responsive design and touch friendly