Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wzalazar/reddit
Demo Reddit
https://github.com/wzalazar/reddit
reddit reddit-client
Last synced: 11 days ago
JSON representation
Demo Reddit
- Host: GitHub
- URL: https://github.com/wzalazar/reddit
- Owner: wzalazar
- Created: 2020-06-27T15:53:07.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-08T21:43:11.000Z (17 days ago)
- Last Synced: 2024-12-08T22:28:06.194Z (17 days ago)
- Topics: reddit, reddit-client
- Language: TypeScript
- Homepage: https://demo-reddit.netlify.app
- Size: 1.46 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Reddit Demo## Guide
- [Bootstrapping](#bootstrapping)
- [Requirements](#requirements)
- [How to Run](#how-to-run)
- [Scripts](#scripts)
- [Tacking Tasks](#tracking-tasks)
- [Decision Making](#decision-making)
- [Demo](https://demo-reddit.netlify.app/)#### Bootstrapping
This project was bootstrapped with [Create React App, Custom Template](https://github.com/wzalazar/cra-template-super-redux-typescript), using the [Redux](https://redux.js.org/) and [Redux Toolkit](https://redux-toolkit.js.org/) template.
#### Requirements
This project is using [nvm](https://github.com/nvm-sh/nvm). If you use nvm just to execute `nvm use` for installing the rights NodeJS and NPM version.
If you are not a user of nvm, you will be able to check the file [.nvmrc](https://github.com/wzalazar/demo-reddit/blob/master/.nvmrc)#### How to run
```bash
$ git clone [email protected]:wzalazar/demo-reddit.git
$ cd ./demo-reddit
$ yarn
$ yarn start
```### Scripts
| script | description |
|-------------------|---------------------------------------------------------|
| start | Runs the app in the development mode. |
| build | Builds the app for production. |
| test | Launches the test runner in the interactive watch mode. |
| lint | Lint the project. |
| semantic-release | Generate semantic release, only for CI |
| codecov | Push de coverage to codecov, only for CI |### Tracking Tasks
I created a Project board for tracking my tasks.
https://github.com/wzalazar/demo-reddit/projects/1
## Decision Making
- **Typescript:**
I choose typescript due that is a better way to create javascript applications. Is javascript with steroids.- **Redux:**
I choose redux due to is the "king" of the state management. Single path of truth.- **Styled Components:**
I choose styles-components because I think is the better way for creating isolated components.- **React Testing Library:**
I choose testing-library because this brings an effective way of creating an integration test, and resilient tests.- **Semantic Release:**
I choose semantic-release for adding versioning in the project.- **Github actions:**
I choose Github Actions for adding Quality assurance in the project.- **Github Project board:**
I choose the Github Project board due is a great tool for tracking the tasks and have historical progress.- **Renovate:**
I choose to use the tool renovate for updating my dependencies, this update will have to pass all tests before the merge.- **Testing:**
I choose to create more integration tests over unit tests for covering my project. With the integration test, I'm ensuring the scenarios are working fine with all components.