Git Product home page Git Product logo

priyanshu88 / ups-app Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 424 KB

UPS App with REACT NATIVE! (TypeScript, Firebase, StepZen & Tailwind CSS with RN, GraphQL backend directly connected to Firebase Realtime database effortlessly with StepZen, React Native Navigation).

Home Page: https://expo.dev/@priyanshu_pandey/ups-clone?release-channel=default

License: Apache License 2.0

TypeScript 89.26% JavaScript 1.04% CSS 9.70%
expo expo-cli react-native typescript appolo-client expo-go expo-status-bar firebase firebase-realtime-database graphql json-api react-native-maps react-native-screens react-native-vector-icons react-navigation react-navigation-native-stack react-navigation-tabs stepzen tailwind-rn

ups-app's Introduction

logo

UPS-App with REACT NATIVE

This is a delivery tracking app using React-Native for iOS & Android. This is scenerio based build and the JSON data is already given, the GraphQL interface backend of StepZen is directly connected to the Firebase Realtime database and implemented for the app. Tailwind CSS is used for the UI and React Native Elements to style the UI. Custom React Hooks has been also implemented and it has nested navigation to navigate between screens including Nested and Tab Navigators. TypeScript is used with React-Native.


📔 Table of Contents

🌟 About the Project

📷 Screenshots


React React React React

📹 Demo

IMAGE ALT TEXT HERE

🔴 Install the Expo Go app on your device and scan the code below (live demo)

qr qr

or Enter the below URL manually

exp://exp.host/@priyanshu_pandey/ups-clone?release-channel=default

forthebadge forthebadge forthebadge

👾 Tech Stack

Client
Database
Graphql

Facebook Instagram Google GitHub GitHub GitHub GitHub Instagram

🧰 Getting Started

‼️ Prerequisites

  • Sign up for a Firebase account HERE
  • Sign up for a StepZen account HERE
  • Install Node JS in your computer HERE

⚙️ Installation

Install my-project with expo

Installing Expo CLI

npm install --global expo-cli

Initializing the project

npx create-expo-app --template my-app
cd my-app

Install dependencies


Instagram

Setup Tailwind CSS

Install

npm install tailwind-rn

Run the following command to automatically add tailwind-rn to your React Native project:

npx setup-tailwind-rn

Import TailwindProvider and tailwind.json in the root of app (App.tsx)

import { TailwindProvider } from "tailwind-rn";
import utilities from "./tailwind.json";

Wrap the root of your app into TailwindProvider

// @ts-ignore -TailwindProvider is missing a type defination
<TailwindProvider utilities={utilities}>
  <MyComponent />
</TailwindProvider>

update tailwind.config.js file

module.exports = {
  content: ["./**/*.tsx"],
  theme: {
    extend: {},
  },
  plugins: [],
  corePlugins: require("tailwind-rn/unsupported-core-plugins"),
};

useTailwind

import { useTailwind } from "tailwind-rn";

const MyComponent = () => {
  const tw = useTailwind();

  return <Text style={tw("text-blue-600")}>Hello world</Text>;
};

Build Tailwind styles in watch mode.

npm run dev:tailwind

Instagram

Setting Up StepZen

Apollo-GraphQL

Create an account

  • Sign up for a StepZen account HERE

Running StepZen

Install the CLI

npm install -g stepzen

After installing the CLI, you can connect it to your account.

Start by logging in using the following command:

stepzen login

You'll see a series of command prompts asking for your StepZen account name and admin key:

What is your account name?: {ACCOUNT}
What is your admin key?: {ADMINKEY}

Your Admin Key and API Key**

When you get your account, log in to StepZen and navigate to the StepZen dashboard, where you will find your account name, and the two keys you need for API authentication:

stepzen init

Initialize a StepZen workspace in the current directory.

stepzen init

curl

curl <<firebase_realtime_database/customers file link>>

GET requests

Auto-generate your schemas and resolvers using the following StepZen CLI command:

Order

stepzen import curl <<firebase_realtime_database/orders.json file link>> --query-type Order --query-name getOrders --name orders

Customer

stepzen import curl <<firebase_realtime_database/customer.json file link>> --query-type Customer --query-name getCustomer --name customer

Trackingitems

stepzen import curl <<firebase_realtime_database/trackingitems.json file link>> --query-type Trackingitems --query-name getTrackingitems --name trackingitems

Deploy

stepzen start

Other dependencies info

🔶 Dependency Info

🏃 Run Locally

Clone the project

git clone https://github.com/Priyanshu88/UPS-App.git

change directory

cd UPS-App

Install dependencies

npx expo install

or

npm install

Start the server

npx expo start

Creating a Build

  • Optimize the assets for speed - npx expo-optimize (formerly expo optimize)
  • Bundle the project for production - npx expo export:web (expo build:web in the legacy Expo CLI).
  • Creates a production ready static bundle in the web-build/ directory. Don't edit this folder directly.
  • If you make any changes to your project, you'll need to re-build for production.
  • For more help use npx expo export:web --help
  • More Info

🚩 Deployment

To deploy this project run

Expo Publish

Expo

publish your project

expo publish

🤝 Contact

Your Name - @twitter_handle - [email protected]

Project Link: https://github.com/Priyanshu88/UPS-App.git

ups-app's People

Contributors

priyanshu88 avatar

Stargazers

 avatar

Watchers

 avatar

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.