isscy / leetchat

webapp for chat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

leetchat

简介

leetchat是一个聊天的webApp

技术

分类 技术
前端 Angular 5
后端 SpringBoot, Spring WebSocket
安全 Spring Security + JWT

目录

PROJECT
│  README.md
│  pom.xml           
│  build.gradle
└──[src]      
│  └──[main]      
│     └──[java]      
│     └──[resources]
│        │  application.properties #contains springboot cofigurations
│        │  schema.sql  # Contains DB Script to create tables that executes during the App Startup          
│        │  data.sql    # Contains DB Script to Insert data that executes during the App Startup (after schema.sql)
│        └──[public]    # keep all html,css etc, resources that needs to be exposed to user without security
│
└──[target]              #Java build files, auto-created after running java build: mvn install
│  └──[classes]
│     └──[public]
│     └──[webui]         #webui folder is created by (maven/gradle) which copies webui/dist folder #the application.properties file list webui as a resource folder that means files can be accesses http://localhost/<files_inside_webui> 
│
└──[webui]
   │  package.json     
   │  angular-cli.json   #ng build configurations)
   └──[node_modules]
   └──[src]              #frontend source files
   └──[dist]             #frontend build files, auto-created after running angular build: ng -build

环境

  • Java 8
  • Maven 3.3.9
  • Node 6.0
  • npm 5
  • Angular-cli 1.6.3

详细

This is an RESTfull implementation of an order processing app based on Northwind database schema from Microsoft. The goal of the project is to

  • Highlight techniques of making and securing a REST full app using SpringBoot
  • How to consume an RESTfull service and make an HTML5 based Single Page App using Angular 4+

Features of the Project

  • Backend

    • Token Based Security (using Spring security)
    • API documentation and Live Try-out links with Swagger
    • In Memory DB with H2
    • Using JPA and JDBC template to talk to relational database
    • How to request and respond for paginated data
  • Frontend

    • Organizing Components, Services, Directives, Pages etc in an Angular App
    • How to chain RxJS Observables (by making sequntial AJAX request- its different that how you do with promises)
    • Techniques to Lazy load Data (Infinite Scroll)
    • Techniques to load large data set in a data-table but still keeping DOM footprint less
    • Routing and guarding pages that needs authentication
    • Basic visulaization
  • Build

    • How to build all in one app that includes (database, sample data, RESTfull API, Auto generated API Docs, frontend and security)
    • Portable app, Ideal for dockers, cloud hosting.

About

webapp for chat


Languages

Language:Java 57.9%Language:TypeScript 28.3%Language:HTML 8.1%Language:CSS 3.8%Language:JavaScript 1.9%