Git Product home page Git Product logo

fiora's Introduction

Fiora

Build Status author Node.js Version License: GPL v3

Language: 简体中文 | English

Fiora is a web chat application. Made by node.js, koa, react.

Function

  1. Register user, create group, join group, private chat, group chat
  2. Support text, image, code, url types of message
  3. Desktop notification, sound notification, notification switch
  4. Customize avatar, collect expression, customize group announcement
  5. Limit message length, message frequency
  6. A simple plugin system

Installation

The project is powered by node.js(>= 7.0) and mongodb database. To install node.js. To install mongodb.

  1. Clone this repository git clone [email protected]:yinxin630/fiora.git
  2. Go to repository directory and run yarn or npm install
  3. Create config file from example config. The devServer, devPort, database, jwtSecret is necessary.
    cp config/project.example.js config/project.js.
  4. Run the project server yarn run server or npm run server
  5. Run the project client yarn run dev or npm run dev
  6. Open http://localhost:8080 and enjoy it

Script

  • server: start server
  • dev: start client
  • build: build client release version
  • redexServer: start redux dev tool server
  • rnServer: start react native package server
  • android: start android client
  • ios: start ios client
  • test: run test
  • eslint: run eslint check

Run Shot

目录结构

|-- [android]                 // react-native android directory
|-- [build]                   // webpack config
|-- [config]                  // config
|    |-- project.js           // project config (need create yourself)
|    |-- project.example.js   // project example config
|    |-- webpack.js           // webpack config
|-- [ios]                     // react-native ios directory
|-- [public]                  // build output directory
|-- [src]                     // source
|    |-- client               // client source
|    |    |-- [action]        // redux action define
|    |    |-- [assets]        // resource
|    |    |-- [common]        // public component
|    |    |-- [middleware]    // message handle middleware
|    |    |-- [reducer]       // redux reducer define
|    |    |-- [rnMobile]      // react native client
|    |    |-- [util]          // tool function
|    |    |-- [webMobile]     // mobile web client
|    |    |-- [webPc]         // pc web client
|    |    |-- api.js          // web global api
|    |    |-- index.html      // html templete
|    |    |-- socket.js       // socket.io client
|    |    |-- store.js        // redux store define
|    |-- server               // server source
|    |    |-- [model]         // database model define
|    |    |-- [police]        // police
|    |    |-- [route]         // route define
|    |    |-- [util]          // tool function
|    |    |-- app.js          // entry
|-- .babelrc                  // babel config
|-- .buckconfig               // react native need config
|-- .eslintignore             // eslint ignore config
|-- .eslintrc.json            // eslint rule config
|-- .flowconfig               // react native need config
|-- .gitignore                // git ignore config
|-- .watchmanconfig           // react native need config
|-- package.json              // npm
|-- yarn.lock                 // yarn
...

Contribute

If you want to add functionality or fix bug, please observe the following process.

  1. Fork this repository and clone the fork
  2. Install dependencies npm install
  3. Modify the code and check for bug
  4. Commit your code. If you get any error or warning from eslint, please fix it
  5. Create a pull request

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.