Real world example app. Updates social profiles: GitHub, Twitter and Facebook
The purpose is to type your profile information once, and then send the updates to your profile in Twitter, GitHub & Facebook.
- React
- React Router
- Webpack
- Firebase for authentication and database
- React Semantic UI
- Node/Express
- & tons of other NPM packages
git clone https://github.com/esausilva/profile-updater.git
yarn && cd client && yarn
Run the following script to create the necessary .env
files for the client and server. This will copy the contents of .env.example
into the respective .env
files.
yarn setup
- Create an app. https://console.firebase.google.com/
- Select Database > Rules and change the default to this:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
- Create an app and take note of the Consumer and Secret keys. https://apps.twitter.com/
- Go back to Firebase Authentication > Sign-In Method; select Twitter and switch to Enable, then paste the Consumer and Secret keys from Twitter; finally copy the callback URL
- Back in Twitter paste the callback URL where required
- Change the access levels to Read and Write
- Register a new app and take note of the Client ID and Secret. https://github.com/settings/developers
- Go thru the same dance as with Firebase authentication with Twitter
- Back in GitHub paste the callback URL where required
- Add a new app and take note of the App ID and Secret. https://developers.facebook.com/
- Go thru the same dance as with Firebase authentication with Twitter
- Back in Facebook paste the callback URL where required (Under Products > Facebook Login > Settings)
Go back to the .env
files and paste the required keys. For the CRYPTOJS_KEY just create a random alphanumeric string, the longer the better.
yarn dev
Will launch Node and React apps concurrently.
To run with Webpack Bundle Analyzer
yarn dev:bundleanalyzer
If you would like to support my work and the time I put into making tutorials, consider getting me a coffee by clicking on the image below. I would really appreciate it!