-
TypeScript: TypeScript was added because of its many benefits over JavaScript, such as:
- Type safety
- Makes it easier to deal with incoming API's data
- It's more productive due to the
typenotation that allows the IDE to display the component Props in other files
-
StyledComponents: StyledComponents was added due to its ability to tell a story inside the code that's being written, every component can have a name based on its role inside the page. Increasing:
- readability
- maintainability
- code organization
-
Updated React dependencies: Updated the pre-defined project's React dependencies, for it's a good practice to keep them up to date.
-
Responsiveness: The project was made to work on 3 different devices:
- SmartPhones
- Tablets
- Desktop
-
Linter: ESlint was used and configured inside the package.json file for helping the dev keep a good level of code.
-
Prettier: a prettier configuration file was also added, to ensure indentation and other patterns were followed throughout the code.
- Atomic Design: The system architecture was defined following the Atomic Design directives, since it was a small project with only one context(the main page one), it was simpler and offered more productivity than DDD, for example.
inside the src folder, you will find:
-
api: all the files needed for fetching the API's data. -
components: all the components used on the screen's building. -
routes: all the pages corresponding to the URL being displayed and the index file, where the router was configured. -
templates: comprehends the templates(the basic page structure) that the routes will use.
-theme: all the files that configure the visual identity of the application.
-utils: all the files with pure JS functions that the project needed for data handling.
- The tests are structured in the usual react way which is having them next to the file they are testing
- Run the tests by executing
yarn test
- Run
yarn - Run
yarn start - Open your browser to localhost:3000