Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mdvanes/homeremote-lamps
Experiment to rewrite the lightswitches component of Homeremote
https://github.com/mdvanes/homeremote-lamps
Last synced: 3 days ago
JSON representation
Experiment to rewrite the lightswitches component of Homeremote
- Host: GitHub
- URL: https://github.com/mdvanes/homeremote-lamps
- Owner: mdvanes
- License: mit
- Created: 2018-12-16T15:30:49.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-09-20T07:51:48.000Z (about 2 years ago)
- Last Synced: 2023-08-05T01:26:07.700Z (over 1 year ago)
- Language: TypeScript
- Size: 368 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# homeremote-lamps
Experiment to rewrite the lightswitches component of Homeremote## Running
* Run `nvm use` in both `/server` and `/client`
* Run `yarn` in both `/server` and `/client`
* Run `yarn start` in both `/server` and `/client`## Target stack
* :heavy_check_mark: CRA https://github.com/facebook/create-react-app
* :heavy_check_mark: TypeScript
* :heavy_check_mark: Apollo-GraphQL for API
* :heavy_check_mark: Node + Express https://www.apollographql.com/docs/apollo-server/getting-started.html
* :heavy_check_mark: optional: Styled Components
* :heavy_check_mark: Apollo-GraphQL for Local state management in the UI
* :heavy_check_mark: Add observable with watchQuery (see LampList.tsx)
* Type coverage with https://www.npmjs.com/package/type-coverage (seems to just give a list of missing type path+positions)
* Add a REST call: https://www.apollographql.com/docs/link/links/rest.html https://github.com/apollographql/apollo-link-rest/ - alternatively use a bridge https://github.com/dacz/apollo-bridge-link
* Build a query dynamically
* Use https://graphql-code-generator.com/ to generate types and HOC
* Observables are very well possible with GraphQL (about store reactivity https://blog.apollographql.com/the-concepts-of-graphql-bc68bd819be3). Apollo is all-in-one solution for modern web: types, observables, local state, REST, GraphQL
* Apollo Boost does not support Apollo devtools## Resources
* https://www.apollographql.com/docs/react/
* https://www.apollographql.com/docs/react/essentials/get-started.html
* https://www.apollographql.com/docs/react/essentials/local-state.html
* https://blog.apollographql.com/the-future-of-state-management-dd410864cae2
* local state codesandbox: https://codesandbox.io/s/github/apollographql/apollo-link-state/tree/master/examples/todo
* https://graphql-code-generator.com/ by Uri Goldshtein
* No `jsx` extension: https://github.com/facebook/create-react-app/issues/87 and https://github.com/facebook/create-react-app/releases/tag/v0.4.1. However `tsx` extension is still needed.
* Space X open API: https://github.com/r-spacex/SpaceX-API