# [Fiora](https://fiora.suisuijiang.com/) &middot; [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/yinxin630/fiora/blob/master/LICENSE) [![author](https://img.shields.io/badge/author-%E7%A2%8E%E7%A2%8E%E9%85%B1-blue.svg)](http://suisuijiang.com) [![Node.js Version](https://img.shields.io/badge/node.js-14.16.0-blue.svg)](http://nodejs.org/download) [![Test Status](https://github.com/yinxin630/fiora/workflows/Unit%20Test/badge.svg)](https://github.com/yinxin630/fiora/actions?query=workflow%3A%22Unit+Test%22) [![Typescript Status](https://github.com/yinxin630/fiora/workflows/Typescript%20Type%20Check/badge.svg)](https://github.com/yinxin630/fiora/actions?query=workflow%3A%22Typescript+Type+Check%22)


Fiora is an interesting open source chat application. It is developed based on [node.js](https://nodejs.org/), [react](https://reactjs.org/) and [socket.io](https://socket.io/) technologies

- **Richness:** Fiora contains backend, frontend, Android and iOS apps
- **Cross Platform:** Fiora is developed with node.js. Supports Windows / Linux / macOS systems
- **Open Source:** Fiora follows the MIT open source license

Online Example: [https://fiora.suisuijiang.com/](https://fiora.suisuijiang.com/)   
Documentation: [https://yinxin630.github.io/fiora/](https://yinxin630.github.io/fiora/)

**Other Client**   
Vscode Extension: [https://github.com/moonrailgun/fiora-for-vscode](https://github.com/moonrailgun/fiora-for-vscode)   

If you are seek for other open-source IM Application which like discord or slack, maybe try out `Tailchat`: https://tailchat.msgbyte.com/ 

## Features

1. Register an account and log in, it can save your data for a long time
2. Join an existing group or create your own group to communicate with everyone
3. Chat privately with anyone and add them as friends
4. Multiple message types, including text / emoticons / pictures / codes / files / commands, you can also search for emoticons
5. Push notification when you receive a new message, you can customize the notification ringtone, and it can also read the message out
6. Choose the theme you like, and you can set it as any wallpaper and theme color you like
7. Set up an administrator to manage users

## Screenshot

<img src="https://github.com/yinxin630/fiora/raw/master/packages/docs/static/img/screenshots/screenshot-pc.png" alt="PC" style="max-width:800px" />
<img src="https://github.com/yinxin630/fiora/raw/master/packages/docs/static/img/screenshots/screenshot-phone.png" alt="Phone" height="667" style="max-height:667px" />
<img src="https://github.com/yinxin630/fiora/raw/master/packages/docs/static/img/screenshots/screenshot-app.png" alt="App" height="896" style="max-height:896px" />

## Install

Fiora provides two ways to install

- [Install by source code](https://yinxin630.github.io/fiora/docs/install#how-to-run)
- [Install by docker](https://yinxin630.github.io/fiora/docs/install#running-on-the-docker)

## Change Log

You can find the Fiora changelog [on the website](https://yinxin630.github.io/fiora/docs/changelog)

## Contribution

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate

1. Fork it (<https://github.com/yinxin630/fiora/fork>)
2. Create your feature branch (`git checkout -b some-feature`)
3. Commit your changes (`git commit -am 'Add some some features'`)
4. Push to the branch (`git push origin some-feature`)
5. Create a new Pull Request

## License

Fiora is [MIT licensed](./LICENSE)
