当前位置: 首页 > 软件库 > Web应用开发 > >

mean-chat-app

授权协议 Readme
开发语言 JavaScript
所属分类 Web应用开发
软件类型 开源软件
地区 不详
投 递 者 孔甫
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

MEAN Chat App

A small chat application built using the MEAN stack
Warning: this project was built a few years back so it uses old versions of libraries and does not guarantee security. Also it might not follow current best practices ��

Features

  • Register and authenticate users using JSON web tokens

  • Join a common room where you can chat with all the registered users

  • Open 1on1 private conversations with a user of your choice

  • Notifications for messages on background conversations

  • Have a pleasant UI/UX built to look awesome from mobile to desktop

Getting started

Prerequisites

if you don't know what you are doing go on the website and follow the instructions, those are pretty straight forward

# clone the repo
git clone https://github.com/petr166/mean-chat-app.git

# [backend api]
# change into the repo directory
cd mean-chat-app

# install server dependencies
npm install

# !! create .env file with the model from .env.example !!
cp .env.example .env

# start the development server
npm run dev


# now open another terminal window
# [frontend angular app]
# change into the angular src directory
cd angular-src

# install frontend dependencies
npm install

# start angular development server
npm start

Then visit http://localhost:4200 in your browser.

Technologies

  • NodeJS - JavaScript backend/server-side solution of choice

  • Express - Node framework that makes handling http requests with ease

    • JsonWebToken - package that helps with generating JWTs for secure authentication

    • PassportJS - authentication middleware used to guard certain parts of the app for non-authenticated requests

  • MongoDB - data storage solution that just speaks JSON and pairs very well with Node

    • Mongoose - package that helps with object modeling and manages connection between server and database

    • Bcryptjs - for salting and hashing the user password to be stored in the database

  • Socket.io - web sockets implementation, fast and reliable real-time communication engine

  • Angular - rich frontend web framework, helps creating fast, reliable web applications

    • Angular-CLI - command line interface for streamlined angular development

    • TypeScript - superset of JavaScript that can be compiler-checked, also has types!!

    • MomentJS - JavaScript date/time parser

    • Bootstrap - CSS/JS framework, makes it easy to develop responsive, well polished web apps

How it works

On the client-side users can create accounts that will be stored in the database. Then users can authenticate with the given credentials, if those are correct the server sends a unique token to the client. The client stores it for use on restricted backend route requests.

Once authenticated, the server creates a socket bidirectional connection with the client to facilitate the chat functionality.

Every time a user sends a message, this goes to the server which redirects it to the desired respondent. Also every time a user enters or leaves chat, the server announces all the connected clients.

Motivation

This is a personal project with the purpose of better understanding the client-server communication paradigm, new web technologies, especially Angular :)

Issues

If you want to help don't hesitate to come up with ideas, bug reports, make pull requests, all you can do. Also if you have any questions, please use the same issues page

  • 1. Terms and conditions(法律与条款) 1.1  As a developer of applications for the App Store you are bound by the terms of the Program License Agreement (PLA), Human Interface Guidelines (HIG), and any other

  • 终于翻译完了,第一次翻译比较完整的东西,还真的不容易,有些地方翻译的不好,我也作出了标记,请大家指正,谢谢! 18.  Pornography 情色      18.1  Apps containing pornographic material, defined by Webster's Dictionary as "explicit descriptions or displays of se

  • 1. Terms and conditions(法律与条款) 1.1   As a developer of applications for the App Store you are bound by the terms of the Program License Agreement  (PLA), Human Interface Guidelines (HIG), and any othe

  • App被拒原因: 1. Terms and conditions(法律与条款) 1.1 As a developer of applications for the App Store you are bound by the terms of the Program License Agreement (PLA), Human Interface Guidelines (HIG), and an

  • 原文出自:https://developer.apple.com/appstore/resources/approval/guidelines.html 介绍 我们很高兴看到您愿意投资您的精力和时间来研发iOS应用程序。它一直是一段有意义的经验 - 无论是专业和财富 - 数十万的开发者,我们希望帮助您加入这个成功的团队。我们已经发布了App Store Review Guidelines,希望他们

 相关资料
  • mean-angular4-chat-app This source code is part of tutorial Building Chat Application using MEAN Stack (Angular 4) and Socket.io Step to run: Prepare Node.js and Angular CLI Clone this repo Run 'npm i

  • 一种全栈 Javascript 开发架构,它的名称来自于:MongoDB,Express,Angular,Node。 使用方法: $ sudo npm install -g mean-cli$ mean init yourNewApp

  • 平均值是给定数字集的平均值。 它的计算方法与平均值相似。 将所有给定数字加在一起,然后将它们除以总值数就产生mean 。 For Example - 3,5,2,7,3的平均值是(3 + 5 + 2 + 7 + 3)/ 5 = 4 。 算法 (Algorithm) 我们可以按照以下步骤绘制算法 - START Step 1 → Take an integer set A of n value

  • NestJS Tutorial Repository Repository will be separated into server and client directory for NestJS backend and Angular frontend resepctively. Server repository Client repository Docker support Hook u

  • MERN: Full-stack Chat Application Introduction The MERN stack which consists of Mongo DB, Express.js, Node.js, and React.js is a popular stack for building full-stack web-based applications because of

  • chat-app-server An back-end server for chat application built using express, moongodb & socket.io for Frontend Reposiroty. Install and Running git clone https://github.com/binbytes/chat-app-server.git