Giter Site home page Giter Site logo

youneshenniwrites / zopher Goto Github PK

View Code? Open in Web Editor NEW
29.0 3.0 6.0 572 KB

Tweeting app with React Native and Expo using GraphQL with AppSync and AWS Amplify.

License: MIT License

JavaScript 100.00%
react-native aws-amplify graphql serverless javascript mobile-development expo native-base authentication-flow aws-appsync

zopher's Introduction

React Native Twitter app with AWS Amplify and Expo

layout

This project integrates a React Native front-end with an AWS Amplify back-end that has user authentication (AWS Cognito) and a GraphQL API (AWS AppSync) for CRUD operations between the client and the database (Amazon DynamoDB).

App Overview

  • Users can sign up/in to the app.

  • Users can create posts by pressing the add button, writing inside the Modal, and pressing submit.

  • Users can like/unlike posts.

  • Users can delete their own posts.

  • Users can update the posts feed by:

    • Pressing the reload button.
    • Performing a pull-to-refresh.

Prerequisites

Configuring the project

  1. Clone this repo to your local machine.
git clone https://github.com/yhenni1989/Zopher.git

cd Zopher
  1. Add AWS Amplify dependencies to your project.
yarn add aws-amplify aws-amplify-react-native

# or

npm install aws-amplify aws-amplify-react-native
  1. Initialise the AWS Amplify project.
amplify init

Follow the same instructions as below.

init

  1. Configure an Amazon Cognito User Pool to store users credentials.
amplify add auth

# When prompt, choose: Yes, use the default configuration.
  1. Add the API service to use GraphQL and store data in Amazon DynammoDB.
amplify add api

Follow the below configuration.

api

  1. Time to deploy your project to AWS.
amplify push

push

After few minutes of automated operations, the Amplify CLI will create an Amazon Cognito User Pool and Identity Pool to store users crendentials and an AWS AppSync GraphQL API to allow for CRUD operations between client and servers.

Running the application

  1. Install client dependencies.
yarn

# or

npm install
  1. Launch the React Native app in your simulator under your project directory.
expo start --ios

# or

expo start --android

Step by step tutorial

  • Check out the full set up process in the Medium story
  • Video link for the demo in here.

zopher's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

zopher's Issues

Thanks for Sharing

I cant get this to go. The app seems to break after adding native-base with this error:

[18:06:56] Unable to resolve "@expo/vector-icons/FontAwesome5" from "node_modules/native-base/dist/src/basic/IconNB.js"

Not related to aws but figured you could point me in the right direction on debugging this kind of thing. I have been in the issues and SO but have not found a solution that works.

The error above is from downloading and running this repo. Any guidance would be greatly appreciated. Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.