Giter Site home page Giter Site logo

chatapp's Introduction

CHATAPP

Real-time Chat Application
(This repository is for introduction. More complete commercial code is managed in a private repository)


Table of contents

● Technical Stack
● Service Overview
● Service Contents
● Upcoming Work

Technical Stack

  • Infra

    • AWS EC2
    • AWS S3
    • AWS CloudFront
    • Nginx
    • Mysql
      • Sequelize
    • Docker
    • kubernates
  • Backend

    • Node.js
    • Express
    • Token-based authentication
      • JWT
    • SocketIO
  • Frontend

    • React Native
    • Redux
      • Thunk
      • Saga
    • React Navigation

Architecture

architecture drawio

Service Overview

  • How this service works
    • How do you deploy to both devices Android & IOS ?
      • By using ReactNative, you can replace native mobile development with javascript
    • How do you plan to handle if there are many requests?
      • Basically, the server is developed in a direction that allows scale out
      • For scale out, event sharing and query caching are conducted using Redis
      • Finally, it will go up to the container via docker and the number of containers will be automatically adjusted through kubernetes
      • Static data such as images are stored in S3 storage and can be quickly received through cdn like cloudfront
  • Chat Rules
    • Authentication
      • JWT tokens are given through authentication. The token will be refreshed in the middle and remain in the device's asyncstorage for automatic login
      • Considering Scalability, I used the passport library for login. In the future, Facebook and KakaoTalk login will be supported separately from email login
    • Chating
      • Chatting takes place in real time, and message notifications are sent even when you are not in the Chat tab
    • About Recommendation System
      • We will calculate tastes and scores based on user-to-user evaluation
      • The evaluation will be conducted by at least 30 people, a standard that can approximate the normal distribution
      • Like Netflix, we will increase user satisfaction based on the recommendation algorithm

Service Contents

  • SignIn & SignUp Coming soon...
  • Initial Screen Coming soon...
  • Chat Coming soon...
  • ETC Coming soon...

Upcoming Work

  • SignIn and SignUp have been implemented
  • Nginx, EC2, S3, and CloudFront infrastructure setup is complete
  • Crop and upload the image is complete
  • Scale out base such as event sharing based on socket.io-redis were implemented
  • Basic chat function is available

chatapp's People

Contributors

cokepizza avatar lsjphd avatar

Stargazers

Paranjay avatar Ho-Seung Shin avatar Marcos avatar  avatar Taehyun Hwang avatar Yeonggyu Lim avatar  avatar

Watchers

 avatar

Forkers

hwangtaehyun

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.