# Flat
**Repository Path**: xmbbInfo/Flat
## Basic Information
- **Project Name**: Flat
- **Description**: Flat 是 Agora Flat 开源教室的 Web 端、Windows 客户端与 macOS 客户端
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: main
- **Homepage**: https://www.oschina.net/p/flat
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 23
- **Created**: 2022-01-29
- **Last Updated**: 2022-01-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Agora Flat
Project flat is the Web, Windows and macOS client of Agora Flat open source classroom.
中文
## Features
- Real-time interaction
- Multifunctional interactive whiteboard
- Real-time video/audio chat (RTC)
- Real-time messaging (RTM)
- Login via
- GitHub
- WeChat
- Classroom management
- Join, create and schedule classrooms
- Support periodic rooms
- Classroom recording and replaying
- Whiteboard replaying
- Cloud recording for video and audio
- Messaging replaying
- Cloud Storage for multi-media courseware
- Screen sharing
## Quickstart
You can build and run the Flat client without a server. This repository includes the following projects:
- [Flat Electron client](./desktop) is an Electron implementation of Flat client.
- [Flat Web client](./web) is a web implementation of Flat client.
### Build and run Flat Electron client
Run the following commands at the root of the repository to build and run Flat Electron client.
```shell
yarn run bootstrap
yarn run start
```
You can use one of the following methods to package your executable:
- Run `yarn ship` at project root to package based on current system.
- Alternatively, run `yarn ship:mac` or `yarn ship:win` at project root to package for a specified system.
### Build and run Flat Web client
Run the following command at the root of the repository to build and run Flat web client.
```shell
yarn workspace flat-web start
```
Alternatively, run the following command:
```shell
cd ./web/flat-web/ && yarn run start
```
UI and business logic are separated in Flat. You can view and develop Flat components UI via Storybook. You can either visit the ([Online address][flat-storybook]) or run `yarn run storybook` at the root of the repository to run Storybook locally.
## References
- [Release Version Description](docs/releases)
- [Environment Variables Reference](docs/env/README.md)
- [Debugging Flat](docs/debugging/README.md)
## Related Projects
- [Flat Android client][flat-android]
- [Flat Server][flat-server]
- [Flat Website HomePage][flat-homepage]
## Contributing
Writing code is great, but there are many other ways to make meaningful contributions to the project:
- [Improve documentation](CONTRIBUTING.md#improve-documentation)
- [Improve issues](CONTRIBUTING.md#improve-issues)
- [Give feedback on issues](CONTRIBUTING.md#give-feedback-on-issues)
For more info about how to contribute, see [CONTRIBUTING.md](CONTRIBUTING.md)
## Code Contributors
Thank you to all the people who already contributed to Flat!
## License
Copyright © Agora Corporation. All rights reserved.
Licensed under the [MIT license](LICENSE).
When using the Flat or other GitHub logos, be sure to follow the [GitHub logo guidelines][github-logo].
[flat-homepage]: https://flat.whiteboard.agora.io/en/#download
[flat-web]: https://flat-web.whiteboard.agora.io/
[flat-server]: https://github.com/netless-io/flat-server
[flat-android]: https://github.com/netless-io/flat-android
[flat-storybook]: https://netless-io.github.io/flat/
[github-logo]: https://github.com/logos