matheuspoleza / chat-project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chat project 💬

Preview

Screen.Cast.2021-06-29.at.11.43.31.AM.mp4

Decisions

- Redux: Nothing too much concept here. We could do it with reducer and context API as well, whatever because of timing and mainly because the boilerplate redux toolkit helped me to set up it. Besides that redux-toolkit uses Immer that help us creating a proxy object for store reducer, so we can code mutable code but it'll be immutable behind the scenes.

- Caching: For caching I'm using the redux persistor that already satisfies the business requirement without too much effort.

- Custom hooks: I created custom hooks to abstract data fetching. The idea's to hide the logic of how to get this data from the screens/components.

- Tests: I couldn't make time to test everything, so I covered more integrations tests inside the screens. With integrations tests like this, we can cover more behaviors.

Build: I deployed the /build folder to surge.sh to make sure it was working https://impossible-giraffe.surge.sh/

About


Languages

Language:TypeScript 84.6%Language:JavaScript 10.6%Language:HTML 4.1%Language:Gherkin 0.4%Language:Shell 0.4%