$ cd client
$ npx create-react-app .
$ npm run start
https://build-an-instagram-clone.herokuapp.com/
Data --> Add a new table
https://www.apollographql.com/docs/react/get-started/
$ cd graphql
$ npx create-react-app .
$ npm install apollo-boost @apollo/react-hooks graphql
$ cd apollo-music-share
$ npx create-react-app .
$ npm install @material-ui/core @material-ui/icons
$ npm install apollo-boost @apollo/react-hooks graphql
$ npm install react-player
$ npm install apollo-link-ws subscriptions-transport-ws apollo-cache-inmemory apollo-client
mutation addSong {
insert_songs(objects: {thumbnail: "http://img.youtube.com/vi/--ZtUFsIgMk/0.jpg", title: "Space", artist: "Enjoykin", duration: 1.5, url: "https://www.youtube.com/watch?v=n-AdoTkXwbc"}) {
returning {
id
duration
created_at
artist
title
url
thumbnail
}
}
}
query MyQuery {
songs {
id
artist
duration
thumbnail
title
url
}
}
starting point
https://github.com/codeartistryio/instagram-react12
$ npm install
http://localhost:3000/accounts/login
http://localhost:3000/accounts/emailsignup
Deploy to now.sh (not interesting for me)
https://hasura.io/blog/authentication-and-authorization-using-hasura-and-firebase/
HASURA_GRAPHQL_ADMIN_SECRET
Create Project "build-an-instagram-clone"
Authentication -> Set up sign-in method
Email/Password -> Enabled
Databases -> Rules
read, write -> true
{
/* Visit https://firebase.google.com/docs/database/security to learn more about security rules. */
"rules": {
".read": true,
".write": true
}
}
$ cd "project_root"
$ npm install -g firebase-tools
$ firebase login
// $ firebase login --reauth
$ firebase init
-
Functions: Configure and deploy Cloud Functions
-
JavaScript
-
Do you want to use ESLint. No
-
Do you want to install dependencies with npm now? Yes
$ firebase deploy --only functions
// without debug i had an error
$ // firebase deploy --only functions --debug
// Try to signup
http://localhost:3000/accounts/emailsignup
$ npm install react-hook-form validator
Authentication -> Set up sign-in method
Google -> Enabled
Add Project support email.
cloudinary.com
cloudinary.com -> Settings -> Upload -> Add upload preset
Name: Instagram-clone
Signing Mode: unsigned
$ npm install slate slate-react slate-history
$ npm install escape-html
cloudinary.com -> Settings -> Upload -> Instagram-clone -> Upload Manipulations -> Incoming Transformation
Width: 500
Height: 500
http://localhost:3000/p/dfbbf276-c000-4baf-b0fc-4769f4f55f8a
$ npm install react-graceful-image
https://console.firebase.google.com/
Authentication -> Sign-in method
Add domain
Marley
Any questions on eng: https://jsdev.org/chat/
Любые вопросы на русском: https://jsdev.ru/chat/