Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/The-Commit-Company/Raven

Simple, open source team messaging platform
https://github.com/The-Commit-Company/Raven

chat-application frappe react

Last synced: about 1 month ago
JSON representation

Simple, open source team messaging platform

Lists

README

        



Raven logo

Raven


Simple, open source team messaging platform




Install on Frappe Cloudยป




Learn More ยป




Issues
ยท
Discussions
ยท
Sponsor Us!



license

Github Stars
Commits-per-month


Raven is a simple work messaging tool that is built using [Frappe](https://frappeframework.com) and can be installed on any new or existing Frappe site (e.g. in addition to [ERPNext](https://erpnext.com/) or [FrappeHR](https://frappehr.com/)). It is designed to help teams collaborate and communicate with each other and get work done. Teams can create their own channels (publically viewable or private) and send messages, emojis, files and images.


## Motivation

Raven was born out of a need to have a simple work communication tool that could replace Slack for us at The Commit Company. Most work communication tools in the market had the following problems:

1. They include many features like video calling, audio sharing on top of work messaging which are not required for small teams. However, these features are expensive to build and run.
2. Hence, they require payments for every user every month - regardless of how much time a user uses the tool or how many messages they send. This meant that we would have to pay for "mostly inactive" users as well.
3. We were already using [ERPNext](https://erpnext.com) hosted on [Frappe Cloud](https://frappecloud.com) for our operations. Since all our users were already on ERPNext and we were paying for the server, we thought that a simple Frappe app can solve our work communication problem - and we feel there are many other teams and organizations who would benefit in a similar way.


## Features

1. Send messages to all members in your organization (in an "open" channel), or just in your team in a private channel
2. Create new channels for your team and your team members
3. Send text messages ๐Ÿ’ฌ, code blocks ๐Ÿ’ป, emojis ๐Ÿ˜†, files ๐Ÿ“‘ and images ๐Ÿ“ธ
4. Mention users in your messages with "@"
5. React to messages with emojis ๐ŸŽ‰
6. Preview image/PDF files ๐Ÿ“
7. Comprehensive search ๐Ÿ” functionality for all your messages, files, channels and users
8. Don't strain your eyes ๐Ÿ‘€ - Raven supports dark mode ๐ŸŒ™
9. Collaborate on the go with the Raven mobile app ๐Ÿ“ฑ (in progress)


## Built with

Raven is built using the [Frappe Framework](https://frappeframework.com) - an open-source full stack development framework.

These are some of the tools it's built on:
- [Python](https://www.python.org)
- [Redis](https://redis.io/)
- [MariaDB](https://mariadb.org/)
- [Socket.io](https://socket.io/)

The frontend is built using React and the following tools:
- [RadixUI](https://radix-ui.com)
- [frappe-react-sdk](https://github.com/nikkothari22/frappe-react-sdk) - simple React hooks to interface with a Frappe framework backend - built and maintained by us at The Commit Company.
- [react-icons](https://react-icons.github.io)
- [Tiptap](https://www.tiptap.dev)
- [Tailwind CSS](https://tailwindcss.com/)

The mobile app is built using [Ionic](https://ionicframework.com), [Tailwind CSS](tailwindcss.com) and [Capacitor](https://capacitorjs.com).




Private Channel

Private channels in Raven


Show more screenshots


Channel Members
Channel details and members



Adding Members to a channel
Adding members to a channel



Search
Search



Emoji picker
Emoji picker



Link Previews
Preview Links



Send files and images
Send files and images



Raven is also available in light mode
Light mode



Mobile app
Mobile app

## Installation

Since Raven is a Frappe app, it can be installed via [frappe-bench](https://frappeframework.com/docs/v14/user/en/bench) on your local machine or on your production site.

Once you have [setup your bench](https://frappeframework.com/docs/v14/user/en/installation) and your [site](https://frappeframework.com/docs/v14/user/en/tutorial/install-and-setup-bench), you can install the app via the following commands:

```bash
bench get-app https://github.com/The-Commit-Company/Raven.git
bench --site yoursite.name install-app raven
```

Post this, you can access Raven on your Frappe site at the `/raven` endpoint (e.g. https://yoursite.com/raven).

### Local development setup

To set up your local development environment, make sure that you have enabled [developer mode](https://frappeframework.com/how-to-enable-developer-mode-in-frappe) in your Frappe site config.

You also need to disable CSRF (add `ignore_csrf: 1` in your `site_config.json`) since the React web server will not have any CSRF token in live reload mode. If you are working on the mobile app, you would also need to allow CORS (add `allow_cors: "*"` in your `site_config.json`). Please note that this is only for the local dev setup - not meant for Production.

You can start the React live web server by:

```bash
cd frappe-bench/apps/raven
yarn dev
```

Your local dev server would be running at `http://localhost:8080`.

You can also run the mobile app on your browser by:

```bash
cd frappe-bench/apps/raven/mobile
yarn install
yarn dev
```


## Repo Activity

![Alt](https://repobeats.axiom.co/api/embed/044c9b441a0b61c450cebe6356051b9bacb4a3b4.svg "Repobeats analytics image")

## Contributors



## Reporting Bugs
If you find any bugs, feel free to report them here on [GitHub Issues](https://github.com/The-Commit-Company/Raven/issues). Make sure you share enough information (app screenshots, browser console screenshots, stack traces, etc) for project maintainers to replicate your bug.


## License

AGPLv3