https://github.com/jayu/weather-widgets-app
Build with React/Redux Ant design and Node.js
https://github.com/jayu/weather-widgets-app
Last synced: over 1 year ago
JSON representation
Build with React/Redux Ant design and Node.js
- Host: GitHub
- URL: https://github.com/jayu/weather-widgets-app
- Owner: jayu
- Created: 2018-10-05T11:28:03.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-10-07T12:32:10.000Z (over 7 years ago)
- Last Synced: 2025-03-18T05:12:27.824Z (over 1 year ago)
- Language: JavaScript
- Size: 271 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## How to run
* Install
* `cd ./client && npm install && cd ../`
* `cd ./notifications_server && npm install && cd ../`
* Run
* Run delivered API -> `cd ./API && node index.js`
* Run created webhooks handler -> `cd ./notifications_server && npm run start`
* Finnaly run the app -> `cd ./client && npm run start`
## What has been done
* Weather app with weather updates feature
* Minimalistic Node.js backend to handle updates
* debouncing network calls fired by widget refresh button
* WeatherWidgets reducer unit testing
* Widget appear, refresh and delete animations for better UX
## Note about folders structure
Proposed folders structure is a kind of overkill in such a small components scope, but I wanted to make the app extensible. The structure is based on an [article](https://medium.com/@alexmngn/how-to-better-organize-your-react-applications-2fd3ea1920f1). I’ve used this structure in my last project and it was convenient.
Folder `./src/scenes/` contains only MainScene scene, but in real-world app would contain major scenes switched by a top-level routing.
There is also empty `./components/` folder that should contain top-level utility components. I haven't extracted this kind of components because of a small scope of the task. So all created components are related to `MainScene` scene.
I've also decided to treat reducers and API related files as services.
User reducer is dumb, but I've decided to declare it anyway because didn't want to have a totally hard coded token, which is probably related to some user.