{"repo":"TowhidKashem/snapchat-clone","free":true,"listed":false,"github":"https://github.com/TowhidKashem/snapchat-clone","clone":"git clone https://github.com/TowhidKashem/snapchat-clone.git","description":"👻 A Snapchat clone built with React and Redux. Written in Typescript. Styled with SASS. Tested with Cypress, Jest and Enzyme. Linted with Eslint and formatted with Prettier!","language":"TypeScript","stars":1135,"topics":["react","redux","typescript","jest","cypress","snapchat","clone","threejs","augementedreality","face-filters"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"👻 Snapchat Clone [LIVE APP] [Live App] &nbsp;&bull;&nbsp; [Video Demo] ⚡️Breakdown Built with React Only functional components using hooks Folder structure: Flat - no greater than one level deep Modular - each folder contains all the relevant files needed to make up a particular feature (components, styles, tests, actions, etc). Having everything close at hand reduces cognitive load and deleting a folder removes the feature entirely from the code base without having to worry about left over code Organized semantically by Feature (not by the traditional \"components/containers\" model), this way of reasoning is more human friendly components directory houses all shared components Custom component library showcased in Storybook Relatively few prod dependencies Global state management via Redux Uses Redux Toolkit - the official recommended approach to using Redux which drastically cuts the need to write boilerplate code A single store.ts file for each feature contains all actions and reducers (the creators are auto generated by RTK) Flat state tree avoids deeply nested properties RTK has built-in support for ImmerJS which allows state to be safely mutated removing the need for messy object copying via spread operators Uses the useDispatch and useSelector hooks provided by react-redux for accessing state values and dispatching actions over the more verbose connect method Uses thunk for async operations Integrates the powerful Redux Devtools Extension for ease of development Styled","default_branch":null,"files":null,"tree":[],"storefront":"/r/TowhidKashem","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/TowhidKashem/snapchat-clone/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}