Code Monkey home page Code Monkey logo

raven's Introduction

Raven logo

Simple, open source team messaging platform

license


Raven is a simple work messaging tool that is built using Frappe Framework and can be installed on any new or existing Frappe site (e.g. in addition to ERPNext or Gameplan). 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 hosted on Frappe Cloud 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)

Tech Stack

Raven is built using the Frappe Framework - an open-source full stack development framework.

These are some of the tools it's built on:

The frontend is built using React and the following tools:

  1. ChakraUI - UI components
  2. frappe-react-sdk - simple React hooks to interface with a Frappe framework backend - built and maintained by us at The Commit Company.
  3. react-icons - Icon set
  4. Framer Motion - Animations
  5. Tiptap

The mobile app is built using Ionic, Tailwind CSS and Capacitor.


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 on your local machine or on your production site.

Once you have setup your bench and your site, you can install the app via the following commands:

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 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:

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:

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

Future Plans

We are currently working or will be working on the following features. Please head to our Github issues page and feel free to contribute:

  1. Mobile app for Raven
  2. Push notifications
  3. Integration service - allowing other applications to create bots and send messages. Some popular services we are looking at are Github, Linear, Sentry, Frappe Desk.

Reporting Bugs

If you find any bugs, feel free to report them here on GitHub Issues. Make sure you share enough information (app screenshots, browser console screenshots, stack traces, etc) for project maintainers to replicate your bug.


License

AGPLv3


Maintainers

Maintainer GitHub Social
Janhvi Patil janhvipatil @janhvipatil_
Aditya Patil TITANiumRox
Nikhil Kothari nikkothari22 @nik_kothari22

raven's People

Contributors

janhvipatil avatar nikkothari22 avatar titaniumrox avatar 1337it avatar sumitjain236 avatar yjane99 avatar dependabot[bot] avatar kritika-3004 avatar rjpvt avatar mohsinalimat avatar sagarvora avatar

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.