- Click the clone or download button and copy the link below
- In your command line type git clone https://github.com/augusto-proano/weather-app.git
- Type cd weather-app
- Type npm i //install all dependencies
- Type npm run start //builds client and starts server
- Finally go to http://localhost:3000
If you are using windows follow this extra step
- Type npm run build-client //builds client
- Type npm run start-server //starts server
- Finally go to http://localhost:3000
- react: framkework to build the UI
- react-router-rom: it has a collection of navigational components that creates a SPA and dynamic routing
- react Context & react Hooks: a nice state management library like redux could have been used to create a store but since weather-app is a small app with few components, that was accomplished using this tools
- sass: for styling a sassy app something like SASS is needed which is a Imperative CSS precompiler
- webpack: bundles and compiles our client
- babel: compiles .js and jsx files
- css-loader, style-loader & sass-loader: compiles .scss files
- mini-css-extract-plugin: extracts and creates a dedicated css file after compiling
- axios: a promise based HTTP client for the browser and node.js for making AJAX requests
- history: manages session history
- node.js & express: server
- morgan: creates logging middleware
- body-parser: creates bodyParser middleware
- jsonwebtoken: used for authentification
- zipcodes: gets a city's name with a given zipcode
- request-json: handles HTTP request client for weather API
Due to time constraints these are some of the tasks that were left for future improvements
- Even though weather-app is a mobile friendly app, it has a limited screen sizes it can scale to
- weather-app has a lack of unit tests that are planned to be implemented in the near future