Coder Social home page Coder Social logo

liangliangliangtan / a-chat-app-built-on-netty Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 5.05 MB

A Full stack Project Built with Netty,Spring/SpringBoot as back-end, JavaScript(ES5) + HTML+ CSS as front-end

Java 11.54% TSQL 1.27% HTML 12.20% CSS 20.61% JavaScript 54.38%

a-chat-app-built-on-netty's Introduction

A-Chat-Netty-built-on-Netty

A Full stack Project Built with Netty,Spring/SpringBoot as back-end, JavaScript(ES5) + html+ css as front-end

Overview

  1. Built the back-end web architecture via SpringBoot.
  2. Built the WebSocket Server with Netty NIO for instant messaging exchange.
  3. Deployed Distributed File System(FastDFS) on Cloud Virtual Machine Instances for images storage and backups.
  4. Deployed NGINX on VM Instance as a reverse proxy server for back-end services.
  5. Designed schemes abd created database on MySQL Server 8.0, and utilizeda MyBatis as a ORM framework to interact with the SQL Server.
  6. Utilized Redis for HTTP session caching to improve the speed of retrieving and storing client information in sessions, it is also been used to associate online clients with netty channels.
  7. Utilized ZXing("Zebra Crossing") BarCode Scanning library for generating QR Code per user for the convenience of searching and adding users.
  8. Utilized Ajax to realize the asynchronous communication between frond-end and back-end.
  9. Performed unit test by JUnit Test on back-end services, and tested REST API via PostMan.
  10. Developed Front-end (Mobile End) by MUI Mobile Framework, using HTML, CSS, JavaScript(ES5)
  11. Utilized Cropper.js to crop uploaded images and avatars.
  12. Utilized PhotoSwipe.js to display images in posts.
  13. Improved the security by introducing Symmetric Encryption Algorithms like DES for QR code and message encryption and Asymmetric Encryption Algorithms like MD5 for password encryption.

Project Snapshot

  1. Project architecture:
prject_structure


  1. Login Page:
index page


  1. Account Page:
index page


  1. QR Code Page:
index page


  1. Posts pages

Create/Edit a Post

index page

Display posts

index page


  1. Contact page
index page


  1. Chat Pages

Chat page andhistory

index page

Chat SnapShot

index page


Getting Started

  • Clone the project
git clone https://github.com/liangliangliangtan/A-Chat-App-Built-On-Netty.git
  • Go to the project folder and import it as a maven project in eclipse or IntelliJ IDEA.
  • Install fastDFS on you System.(I use CentOs 6.9)
  • APK for the front-end will be uploaded later.

Maven Project Structure

├───.mvn
│   └───wrapper
├───src
│   ├───main
│   │   ├───java
│   │   │   └───com
│   │   │       └───example
│   │   │           └───mychatappnetty
│   │   │               ├───configuration
│   │   │               ├───controller
│   │   │               ├───dao
│   │   │               ├───entity
│   │   │               │   └───dto
│   │   │               │       ├───bo
│   │   │               │       └───vo
│   │   │               ├───enums
│   │   │               ├───netty
│   │   │               │   └───entity
│   │   │               ├───redis
│   │   │               ├───service
│   │   │               │   └───impl
│   │   │               └───util
│   │   └───resources
│   │       └───mapper
│   └───test
│       └───java
│           └───com
│               └───example
│                   └───mychatappnetty
│                       ├───controller
│                       ├───dao
│                       ├───service
│                       │   └───impl
│                       └───util

Dependencies

  • dependencies can be viewed in pom.xml

TODO List:

There are many things which can be improved further.

  • Message Push Notification
  • Like/ Comment Posts
  • Voice Chat.
  • Refactor the Front-Eend by Ionic

a-chat-app-built-on-netty's People

Contributors

liangliangliangtan avatar

Watchers

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