Giter Site home page Giter Site logo

yevheniiairapetian / owrite Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.09 MB

This repository contains a chat app called OWrite developed for mobile devices developed using React Native. The app provides users with a chat interface and options to take photos, share photos, share audio and location.

JavaScript 100.00%
androidstudio chatapp expo expocli gifted-chat mobileapp mobiledevelopment nativeapp nativedevelopment reactnative xcode androidemulator emulator simulator

owrite's Introduction

owrite

Description:

This repository contains a chat app called OWrite for mobile devices developed using React Native. The app provides the users with a chat interface and options to:

  • Send messages
  • Choose a chat room background color (4 options)
  • Set a username for the chat room
  • Share images from the device's storage
  • Take a picture and share it
  • Share the location
  • Make an audio recording, send it, and play it

Key Features

  • A screen where users can enter their name and choose a background color (4 options) for the chat screen before joining the chat.
  • A page displaying the conversation, as well as an input field and a submit button.
  • The chat that provides users with additional communication features: sending images, taking photos and sending them, making audio recordings/playing audio recordings, sharing user's geolocation information
  • Data gets stored online in the Google Firestore and offline in the AsyncStorage.
  • If the user is offline, they cannot write new messages but can view the chat history
  • The app was developed with accessibility measures

Project Screenshot

2023-10-12-22h15-08

Project In Use Preview

Please click on the video below to watch it

Watch the video

Technologies Used:

  • React Native
  • AsyncStorage
  • Responsive design
  • Google Firestore
  • Android Studio
  • Expo Go
  • Expo CLI

Project Dependencies:

  • React Native for native app development
  • Expo Go app for serving the app
  • Expo CLI for the terminal commands
  • AsyncStorage for offline data storage
  • Gifted Chat for the chat functionality
  • Firebase Firestore for storing user data
  • React Native Maps for sharing geolocation
  • Please see package.json for other project dependencies

Clone and Preview:

To clone the repo use the following command: console git clone [email protected]:yevheniiairapetian/owrite.git Or download directly by clicking on <> Code button > Download ZIP.

Running on a physical device

To run the app on a physical device:

  • Run npm install - expo-cli globally
  • Install/open the Expo Go app
  • Create an account/log in to Expo app
  • navigate to the project directory in the terminal: cd owrite
  • Install the required dependencies: npm install
  • Run the App: expo start
  • Scan the QR Code with the app on Android device/ with the Camera app on iOS device

Running on an Emulator

To run the app on an emulator/simulator, install:

  • Run npm install - expo-cli globally
  • Android Studio to test for Android
  • X Code to test for iOS
  • Install/open the Expo Go app
  • Create an account/log in to Expo app
  • navigate to the project directory in the terminal: cd owrite
  • Install the required dependencies: npm install
  • Run the App: expo start
  • Choose run on emulator

Database Setup

To set up the database for the project:

  • Create an account/log in at https://firebase.google.com/
  • Install Firebase in your project directory: npm install firebase
  • Import the Firebase configuration settings from the project settings tab in the Firebase console into your App.js file
  • In the firebase database rules, adjust allow read, write: if false; to allow read, write: if true;
  • Publish

Contact:

Feel free to contact me via LinkedIn or
email or via the contact information on the website

owrite's People

Contributors

yevheniiairapetian 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.