srtucker22 / chatty Goto Github PK
View Code? Open in Web Editor NEWA WhatsApp clone with React Native and Apollo (Tutorial)
License: MIT License
A WhatsApp clone with React Native and Apollo (Tutorial)
License: MIT License
Upgrade the entire tutorial to latest version of apollo-client
.
apollo-client
v2 no longer uses Redux for caching GraphQL data, so there is currently no good dev tooling for Apollo 2 with React Native (thereβs no Apollo DevTools for React Native). Once there are adequate dev tools for Apollo 2 with React Native, update the whole tutorial!
Relevant issues:
apollographql/apollo-client#2509
apollographql/apollo-client-devtools#6
Make it obvious on when running server that required environment variables are missing (per step)
Hey man, awesome thing you made, really liked the tutorial π
Quick question, I'm trying to get the app running on Android and getting "Network error: Network request failed". Does it happen to you as well, and if yes do you maybe have an idea how it might be resolved? On iOS it's working.
I'm trying to figure it out, if I find solution I'll provide PR.
Cheers!
Need to address this somehow somewhere that makes sense in the tutorial....
Hi there,
In WhatsApp, When you press on a group, the speed to show the messages of the group is reaaally fast. Any group, even the 2 years old groups. I don't know how they reach such a speed.
Do you succeed to go as fast as WhatsApp with your app ?
If so, what is the secret ?
If not, what do you think is their secret ?
Hi, you say in your intro that you will be using sqlite 'for now'. Are there plans to show an upgrade to postgres or mongo, etc?
Also, FYI if you are not aware there is a very interesting project called postgraphql you might be interested in. I am leaning hard in that direction as JS isn't in my toolbox yet and by what I am seeing I can eliminate the express/ruby/python back end server all-together and query direct to graphQL at the database...
followed the readme to setup.
server is able to start.
RN app crashed with this error
undefined is not an object (evaluating 'action.payload.auth')
@srtucker22 Great Work! Loved your tutorial. I've upgraded your tutorial to the latest version of Tortilla at https://github.com/DAB0mB/chatty; would you mind force pushing all refs (branches and tags) into your repo? I'm one of the main contributors of the Tortilla project together with @Urigo and we thought that it would be a good idea to test some new features of Tortilla like releases git-diffing and JSON file dumping. We can test these features with my fork however we would very much prefer that the changes would be part of the official repo. Thanks a lot!
Maybe this is Step 13?
Hello and thank you for this wonderful and really helpful tutorial!
I was reading that the PubSub
mechanism graphql-subscriptions
are not suitable for production use.
Have you tried using graphql-redis-subscriptions
or maybe do you have any code that you could share? That would be really helpful because I am facing some difficulties there.
Thank you once again
How should this get added to the tutorial?
Implementation at every substep would be really arduous, but we do want to end up with one codebase. I think the issue here is that it would make the tutorial code very long and might require additional explanation at every step.
Might make more sense to have an extra sub step at the end of each main step that applies any additional changes to support Android.
The best test here is to first see how many edits are needed if just updating code from the latest step.
Make sure this doesn't eat up a lot of space in the tutorial
Not sure where this belongs in the tutorial... but definitely important feature for making chatty legit
This will also set up more performant refetching when reconnecting with subscriptions
react native client install error as blow and install progress will be suspended here:
npm ERR! Unexpected end of JSON input while parsing near '...tro/download/metro-0.'
reproduce:
cd client
npm install
you will get the error, any my env as blow:
node: v11.2.0
rn: react-native-cli: 2.0.1
Group image checking logic is faulty for Messages screen header
apollo-server
>=2.6
@apollo/react-hooks
>=3.1
react-native
>=0.60
replace redux
with apollo @client
local state now that Apollo DevTools is built into React Native DevTools!
something like this implementation could make adding new subscriptions for things like updated/deleted groups and users relatively trivial to implement and explain
This would really improve performance all around and show some killer features of using complex pagination with GraphQL
If we're talking about cache control, makes sense to put this feature here. Could eliminate auth
store as well for much cleaner flow π
This should really get implemented after #4 is successfully part of the tutorial
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.