Enterprise-first messaging platform that seamlessly integrates with your ERP
Install on Frappe Cloud
Website (ravenchat.ai)
Issues
·
Community & Support
·
Sponsor Us!
Raven is an open-source messaging platform that brings your team's conversations and information into one centralized place, enhancing collaboration and productivity. Whether you're at your desk or on the move, Raven keeps you connected on any device.
It's built using Frappe Framework and offers deep integrations with other Frappe apps like ERPNext and FrappeHR.
- Organize conversations in channels: Organize your conversations by topics, projects, or any category that suits your workflow. Send direct messages to other users or create channels for group discussions to keep everyone informed and engaged.
- Craft your messages with rich text: Easily send messages with formatting, highlights, links, emojis, code blocks, mentions and more
- Share images, documents, GIFs and more: Need to share a file? Simply drag and drop it onto the screen. You can also find and share memes using our GIF search
- Reactions, Replies, and Threads: Respond to messages with a reaction (custom emojis supported), inline replies or create threads for longer discussions.
- Integrate Seamlessly: Raven works effortlessly with other Frappe apps, allowing you to share documents from ERPNext with customizable previews, trigger notifications based on document events, perform workflow actions and, print documents directly within chats.
- Agents, AI and more: With Raven AI, automate tasks, extract data from files and images, and execute complex, multistep processes with just a message to an agent. Build your own agents without writing a single line of code to streamline your workflows.
- Supports Dark Mode and Mobile: Raven allows users to customize the app's appearance as well as offers a mobile app.
- Authentication and Security: Supports all popular OAuth providers, custom OAuth providers, Login with email link, 2FA on Email/SMS/Auth App and LDAP.
- Frappe Framework - an open-source full stack development framework. It uses Python, MariaDB/Postgres, socket.io and Redis
- React
- Frappe React SDK - React Hooks library that we created/maintain to handle auth, data fetching and API calls to the Frappe Framework backend
- Tailwind CSS -
- Firebase - Push notifications, Crash Analytics and Performance Monitoring
- RadixUI - Accessible UI components for the web
- TipTap - Rich Text Editor
- React Icons - icon library
- emoji-mart - Emoji Picker library
- React Native
- Expo - for all plugins/utilities and deployment
- NativeWind - using TailwindCSS but on React Native
- React Native Reanimated - Animations for React Native
- React Native Gesture Handler - to handle touch and gestures on React Native
- Zeego - Dropdown menus for React Native
You can try Frappe Cloud, a simple, user-friendly and sophisticated open-source platform to host Frappe applications with peace of mind.
It takes care of installation, setup, upgrades, monitoring, maintenance and support of your Frappe deployments. It is a fully featured developer platform with an ability to manage and control multiple Frappe deployments.
Follow these steps to set up Raven in production:
Step 1: Download the easy install script
wget https://frappe.io/easy-install.py
Step 2: Run the deployment command
python3 ./easy-install.py deploy \
--project=raven_prod_setup \
--email=your_email.example.com \
--image=ghcr.io/the-commit-company/raven \
--version=stable \
--app=raven \
--sitename subdomain.domain.tld
Replace the following parameters with your values:
your_email.example.com
: Your email addresssubdomain.domain.tld
: Your domain name where Raven will be hosted
The script will set up a production-ready instance of Raven with all the necessary configurations in about 5 minutes.
You need Docker, docker-compose and git setup on your machine. Refer Docker documentation. After that, follow below steps:
Step 1: Setup folder and download the required files
mkdir raven
cd raven
# Download the docker-compose file
wget -O docker-compose.yml https://raw.githubusercontent.com/The-Commit-Company/raven/develop/docker/docker-compose.yml
# Download the setup script
wget -O init.sh https://raw.githubusercontent.com/The-Commit-Company/raven/develop/docker/init.sh
Step 2: Run the container and daemonize it
docker compose up -d
Step 3: The site http://raven.localhost:8000/raven should now be available. The default credentials are:
- Username: Administrator
- Password: admin
To setup the repository locally follow the steps mentioned below:
- Install bench and setup a
frappe-bench
directory by following the Installation Steps - Start the server by running
bench start
- In a separate terminal window, create a new site by running
bench new-site raven.test
- Map your site to localhost with the command
bench --site raven.test add-to-hosts
- Download the Raven app. Run
bench get-app https://github.com/The-Commit-Company/raven
- Install the app on the site
bench --site raven.test install-app raven
- Now open the URL
http://raven.test:8000/raven
in your browser, you should see the app running
Make sure that you have enabled developer mode in your Frappe site config. You can do so by running the following in your bench directory:
bench set-config -g developer_mode 1
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. Please note that this is only for the local dev setup and is not meant for Production.
bench --site raven.test set-config ignore_csrf 1
Raven's web app is a React based single page app located in the /frontend
directory. It uses Vite to compile the app.
If you want to make changes to the frontend with hot reloading, follow the steps below:
- Navigate to the apps/raven folder in your bench directory
cd apps/raven
- Start the local web server
yarn run dev
This will start a local server at http://localhost:8080
where the frontend app can be previewed in real time as you make changes. To make sure the setup works correctly, add a .env.local
file in the /frontend
directory with the following contents:
VITE_BASE_NAME='' # This needs to be set as empty
VITE_SOCKET_PORT=9000 # This is the port on which socket.io is running. It's usually the main Frappe server port (8000) but in the 9000 series
VITE_SITE_NAME='raven.test' # This is the same of the site
Raven's mobile app is a React Native based app built using Expo. It requires an Expo Development Build and will not run on Expo Go.
To get started, you need to install the Expo CLI
npm install -g eas-cli
You also need to have Xcode and/or Android Studio installed locally depending on your platform of choice.
The mobile app is located under the apps/mobile
directory.
To start the development server and run it on a simulator, you can run
yarn run ios
or
yarn run android
This should start the emulators with the app running. For more info, please refer to the Expo documentation
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.
AGPLv3