Awesome
<a href="https://codeclimate.com/github/dappros/ethora/maintainability"><img src="https://api.codeclimate.com/v1/badges/715c6f3ffb08de5ca621/maintainability" /></a>
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
Ethora: open-source 'super app' engine
Mobile (React Native) π± + Web (React.js) π» web3 π social π¬ platform for your community.
[ iOS/Android | social sign-on | wallet | ERC-20/NFT | messaging/push/calls | gamification ]
Ethora is a feature rich low-code app engine. It helps you to build a professional feature packed iOS/Android or Web app for your project in no time. The most popular functionalities of Ethora are:
- Digital Wallet - users can easily store, display, exchange documents and digital assets, protected by a cryptographic key pair
- Chat/messaging - powerful messaging infrastructure supporting cross-platform 1:1 and group chats
- AI bots - seamless integration with AI bots for assistance, LLM-powered data processing and more
There is a plethora of functionalities beyond that, all fully customizable so you choose what features and experience your users have.
To buld your app with Ethora, simply:<br /> (1) clone this repo OR use our web builder you may access via https://ethora.ethoradev.com/signIn?signUpPlan=free<br /> (2) change app name, logo, colors, things like Firebase ID (optional)<br /> πͺ get your own iOS, Android and Web apps ready to fly!<br /> <br /> Coding experience is optional. Javascript / Typescript / React coding experience will be useful to make advanced modifications or build your own functionalities.
π£ Project update - 3rd September 2024 π£
Finally we are updating our web version design. Enjoy the new login / sign on screens and new look of the Admin dashboard. The whole look of the web version is being updated too. Follow the updates in our forum: https://forum.ethora.com/forum/16-updates-and-announcements/
π£ Project update - 5th July 2024 π£
An alpha version of Ethora Chat Component has been released.
Ethora Chat Component is an npm package that allows developers to quickly implement a chat room as a simple building block. It combines the benefits of accessing the powerful features of Ethora platform with simplicity of a simple application. The Chat Component will be completed by the end of July. Read more in Ethora Forum: https://forum.ethora.com/topic/9-ethora-nmp-package-chat-component-alpha-version/#comment-9
π£ Project update - 11th October 2023 π£
Hi all and thank you for your interest and support of Ethora engine and platform!
There are important updates and improvements coming soon:
1. Architecture review and refactoring.
The project has been developing over years, new features and changes have happened. We have done some refactoring before, but now there is a time to do further improvements. Below is a simplified scheme of our architecture. We invite any feedback or questions regarding the architecture and code of React Native and React.js clients as we are now going for a push to further improve the codebase to make it easier to use and modify for any developer. Please be critical and candid, tell us openly if you struggle to understand something etc - we will make the most use out of your feedback!
<img width="800" alt="Screenshot 2023-10-11 at 12 07 13" src="https://github.com/dappros/ethora/assets/328787/72db36b2-cd13-41ba-bf5d-c625ea5d55ae"><br />2. Design improvements
Great design update is coming soon first for the Mobile client and then Web. We are making the design layout more slick and professional, at the same time ensuring it is easy to customize for different projects.
<img width="600" alt="Screenshot 2023-10-11 at 12 11 27" src="https://github.com/dappros/ethora/assets/328787/0128fad0-7422-4671-b34b-c3d9f222a110"> <img width="600" alt="Screenshot 2023-10-11 at 12 12 28" src="https://github.com/dappros/ethora/assets/328787/d5b52d93-a8fb-4c7e-8860-9ad4c5dbcdca"> <img width="600" alt="Screenshot 2023-10-11 at 12 12 52" src="https://github.com/dappros/ethora/assets/328787/e87c0dc4-6f18-4852-8a73-a68a6f076c68"><br />3. New Youtube video
Check out a video on Ethora engine by the famous @CodeEater21. He talks about our engine and covers the steps to build your project using Ethora for both iOS and Android: https://www.youtube.com/watch?v=pSomfrBgPzI
<a href="https://www.youtube.com/watch?v=pSomfrBgPzI"><img width="600" alt="Screenshot 2023-10-11 at 14 03 44" src="https://github.com/dappros/ethora/assets/328787/0f8dc167-07dd-4bd5-abd0-9256fa37e53b"></a>
<br />4. Self hosted option via AWS Marketplace or Docker Hub
Currently this engine required Ethora API and Chat server running from our Cloud server. It has a generous free tier and a reasonable business plan. Due to a popular demand, we are also going to make available a self hosted version. Those projects who prefer our Cloud option can rest assured you will be able to continue using it on the Free plan, upgrade to Business when you need extra support and SLA or migrate to a self-hosted if you need so in future.
π‘ All the things you can do!
Some ideas of what you can build with Ethora engine:
- a social / community app with chat rooms
- a wallet app for digital assets (coins, NFTs) or documents (PDF, health reports etc)
- loyalty points & rewards app
- chat bot / ChatGPT consulting app
- p2p social commerce and business networking app
- gamification of [anything] app
- fans app (sport clubs, celebrities) - communication, collectibles, 2nd screen
- DAO / charity governance - voting and crowd-funding via bots, governance tokens and DAO smart contracts
- digital identity / KYC / pass app (NFT / QR based)
Startups, communities and enterprises come to use Ethora engine so they can deliver their MVP (minimum viable product) app quickly, within DAYS as opposed to months or even years when building a similar functionality from scratch. This engine is fully production ready too, powering multiple projects live in Apple and Google appstores.
Ethora platform entities and user journey
<img width="1128" alt="Screenshot 2023-10-23 at 15 18 20" src="https://github.com/dappros/ethora/assets/328787/9546ee2a-916c-4b80-a974-ef45f5b37959">React Native (iOS/Android) version
Standard UI (new design)
Standard UI (old version)<br /> <img width="736" alt="collage_ethora_ 2022-08-31" src="https://user-images.githubusercontent.com/328787/187653868-456026a8-ef7e-498c-9088-1d545dc9f818.png">
An example of branded (customized) UI<br /> <img width="622" alt="Screenshot 2023-05-04 at 17 31 05" src="https://user-images.githubusercontent.com/328787/236267243-d0c8f324-4a27-4743-a547-702351385a21.png">
App builder
The fastest π way to get your app running is to use our "Apps" web interface that takes care of the following:
- Allows you to customize your app (name, logo, colors etc)
- Launches your web app at the URL (subdomain) you choose
- Generates the React Native codebase for your iOS & Android mobile app (already pre-populated with your logo, colors etc)
This gets you running within MINUTES β±οΈ.
You can always customize later either via web UI or directly via code.
<img width="800" alt="Screenshot 2023-08-09 at 21 40 57" src="https://github.com/dappros/ethora/assets/328787/5c5b5230-e3d5-4f16-9f3a-9aae98649105">App Builder Demo
<br>Q: How is this hosted? Can I self-host? <br />A: Your web app will be hosted in our cloud (Free tier) by default. Alternatively, you can check out the React.js code from this repository and self host it, or get our full backend from AWS Marketplace and get both app and API backend running in your own infrastructure.
Q: Can I use my own Push Notifications and Firebase if I use your free cloud backend? <br />A: Absolutely, you just need to specify your Firebase credentials and upload your iOS push notifications certificate in the "Services" tab in your App Settings:
<img width="800" alt="Screenshot 2023-06-08 at 09 59 55" src="https://github.com/dappros/ethora/assets/328787/0b944697-c4be-49c7-b952-c8da0d3900e1"><br>Q: How do I create an account and play with this builder? <br>A: Sign up for a Free account here: https://www.dappros.com/pricing/, sign in & go into "Apps" section of the menu.
React.js (Web/desktop) version
You can test web version here: https://ethora.ethoradev.com/
Users profile<br /> <img width="400" alt="Screenshot 2023-05-05 at 10 17 52" src="https://user-images.githubusercontent.com/328787/236420767-1dc1b851-a0ba-4a22-b0ff-3364b3ce21ab.png">
Chat screen<br /> <img width="400" alt="Screenshot 2023-05-05 at 10 18 34" src="https://user-images.githubusercontent.com/328787/236420894-e07b1367-aee3-4c9d-be43-f64a8b719370.png">
Minimized view<br /> <img width="400" alt="Screenshot 2023-05-05 at 10 29 31" src="https://user-images.githubusercontent.com/328787/236423172-8e5168be-65ae-4915-9bed-5b7d9c80019e.png">
Sharing a chat room via QR or hyperlink<br /> <img width="400" alt="Screenshot 2023-05-05 at 10 29 13" src="https://user-images.githubusercontent.com/328787/236423115-f2274576-b99f-4513-a371-292867374079.png">
Chat bots (ChatGPT, DAO voting, NFT minting, bookings/reminders, commerce etc)
You can easily extend your Ethora-based app with chat bots. This is a fantastic way to implement additional functionality without changing a single line of code in the engine itself.
We use XMPP protocol and this means you can easily connect to chat rooms, interact with your Users and digital assets via your own chat bots logic. Your chat bots can be written in Python, Node.js or anything really that is capable of interacting with XMPP. In this repo (https://github.com/dappros/ethora/tree/main/bots section) you will find some sample bots built using Ethora Bots Framework. This Framework is a scaffolding (currently in Node.js but more languages coming) that abstracts away the mundane tasks allowing you to focus on the core logic of your bots.
ChatGPT bot<br /> <img width="400" alt="Screenshot 2023-05-05 at 11 01 10" src="https://user-images.githubusercontent.com/328787/236429436-a1046904-b342-44e8-98a9-c269eb42857b.png">
A standard OpenAI / ChatGPT integration is demonstrated in our /bots/ section. With customizations, you can add a ChatGPT / LLM powered bot specialized in your project topic.
Translate bot<br /> <img width="400" alt="Screenshot 2023-05-05 at 11 03 15" src="https://user-images.githubusercontent.com/328787/236429833-26d10fd6-88c2-4e46-a1c5-be3f273071ea.png">
An example of an interpreter bot that translates to/from English and Spanish so that users can chat each in their own language and still understand each other.
Branding and customization
Ethora offers many branding options for app owners. You can easily change things such as your app name, logo, theme colours, Coin name and symbol etc. These things you can change using our App builder UI without even having to code.
For further customizations, you can dive into the code of Ethora engine and make modifications as your project requires.
Another plane for content ownership and customizations is at Users level. Users have a variety of options to customize Chat rooms they own/admin, their Profiles and asset collections. As project owner, you can disable or enable some of these features depending on your project requirements.
Custom chat background<br /> <img width="400" alt="Screenshot 2023-05-05 at 11 04 28" src="https://user-images.githubusercontent.com/328787/236430051-2c24e3e8-5006-41f6-b035-0dfe1f0a3c9a.png">
Threads
For chats with lots of conversations, threads mechanism is supported meaning that groups of users can continue discussing threads which are relevant to them without spamming the main room with all the follow-up messages:<br /> <img width="400" alt="Screenshot 2023-05-05 at 11 08 53" src="https://user-images.githubusercontent.com/328787/236430928-5e371c86-d346-48df-ad18-9aa64d2ec05e.png">
Gamification, referrals and rewards
Ethora is all for sticky, long-lasting and self-supporting communities. There are gamification features that work out of the box, for example:
- Coin - your own project coin based on secure ERC-20 crypto protocol - BTW you can call it anything you want so it can be 'stars', 'points', 'credits' or whatever you like.
- Sign up bonus - 100 Coins (by default) for all users who join your app
- Daily activity bonus - 5 Coins (by default) for all users who check in at least once per day
- Referral bonus - 25 Coins each for User and their friend who join the app using their invite code
Referrals<br /> <img width="400" alt="Screenshot 2023-05-05 at 11 35 46" src="https://user-images.githubusercontent.com/328787/236436264-e8f57960-6995-41dd-a708-f66d7ff4fc41.png">
Somewhat related to gamification, digital collectibles and token economy options available and fully supported by Ethora via digital assets (handled via smart contracts and NFT collections). This is covered in detail in a separate section.
And last, but not least, you can build your own custom gamification mechanics via adding your own backend or bots logic. Ethora already offers some gamification bots such as:
- Prison - you can play Prisoner Dilemma with other players or a chat bot for Coin
- Raffle bot - you can pay for a raffle ticket and have a chance to win a prize
- Hut, hut - Users can hide their assets (NFTs or Documents) in a Hut. Other Users can pay Coin for a chance to find such items
Rewarding Users with Coin and digital collectibles (video demo, 1.5 minutes):
(enable subtitles to see explanations)<br /> <a href="http://www.youtube.com/watch?feature=player_embedded&v=pKEMcxJb5HM" target="_blank"><img width="439" alt="ethora_youtube" src="https://user-images.githubusercontent.com/328787/185500847-3a607707-9008-4c56-873c-7c9aa1aa1eee.png"></a>
This video demo shows how Users can reward each other with Coin or digital collectibles. Another user has shared some useful information? Just long tap on their message and choose to reward them with Coins or send them an NFT item.
In group / public chat rooms, this mechanism doubles as 'likes' or 'merit' social metric. Messages that are more useful to the community will receive more rewards and attention.
Note: Coins are based on ERC-20 tokens and items/collectibles are NFTs (ERC-1155). Coins, Items and Documents in Ethora are all protected by blockchain (EVM) technology - same technology as global digital currencies, cryptographically protected provenance trail for all transactions and so on.
Depending on your project and whether your user base is savvy in web3 technology, you may: a) Keep it simple. Only use this for gamification and peer-to-peer 'merit' mechanics. b) Allow your users to purchase or trade features, items and collectibles internally using their earned Coin and items. c) Allow your users to export/import Coins and assets to/from external world via blockchain, enabling a global token economy for your project.
Learn more (our wiki website)
Visit https://ethora.com/ for latest information regarding the project. The Launchpad https://ethora.com/wiki/Launchpad section lists some sample projects that use Ethora engine in production.
Note: Some information might be outdated - we try to update documentation here and in the website as often as possible, but if you're not sure please feel free to contact us.
How to BUIDL π οΈ
Please check this Step by Step build guide - it shows how to build a new app using Ethora engine within 30 minutes: https://ethora.com/wiki/Step_By_Step_Guide You will need environment set up for iOS or Android development.
Core features π‘
- iOS, Android, Web
- Your own name, branding, token/coin name etc
- SSO (Social Sign On) via Gmail, Facebook, Apple or Sign Up via E-mail
- Each user gets a digital assets wallet + cryptographic keypair
- Coins (ERC-20 tokens) for internal p2p social economy, gamification etc (either secluded or L1/mainnet connected network)
- NFT Items (ERC-721 tokens)
- "Crypto likes" (sending tokens to messages)
- Ethereum blockchain powered immutable transactions ledger - great for transactions tracking and reputation mechanism
- Crowd-sourced rooms and spaces, p2p QR-code / public key - based invites system
- Chat & Social profiles
- Push notifications
- Audio, Video messages and calls
Authors, License and Governance βοΈ
AUTHORS. Ethora and its server infrastructure (Dappros Platform, chat & push services etc) have been developed since 2018 by <a href="https://www.dappros.com/">Dappros</a> and <a href="http://deepxhub.com/">DeepX</a>. The team is led by Taras Filatov, a Ukrainian-born and UK based tech entrepreneur.
LICENSE. The project codebase of Ethora developed by the project contributors is released under AGPL license which facilitates open-source distribution and contributions. Other licenses (commercial closed source, SaaS, perpetual etc) can be obtained from the authors.
GOVERNANCE. The project is currently governed and commercialized by Dappros Ltd (Watford, UK). In the long term, we aim to transform the platform into an open protocol funded through an infrastructure utility token economy, governed via an open DAO and developed by contributors worldwide via a system of open R&D grants. You can help fulfil this vision by promoting the project and becoming one of the contributors.
BACKEND. The server-side functionality of Ethora is provided by Dappros Platform API and DeepX RTC infrastructure. Under the bonnet, it consists of Ethereum blockchain network, an API wrapper and caching layer interacting with Ethereum nodes and S3/IPFS storage (built with Node.js, Apache Kafka, Reddit and MongoDB), as well as XMPP-based Ejabberd messaging server with our own custom-built services (such as Push Notifications, blockchain identities integration etc) built with Erlang, Mnesia, MySQL and Cassandra.
When using Ethora engine, your default backend option is to <a href="https://www.dappros.com/pricing/">sign up</a> for a free account of Dappros Platform. This provides backend infrastructure for your application(s) including Users, Wallets, Tokens, Chat/Messaging etc. You will be using Cloud option this way which is the easiest option, however self-hosted (AWS Marketplace) and dedicated infrastructure managed by us are also available.
Commercial model π
Ethora distribution model is similar to Linux RedHat or MySQL - i.e. a free open-source version that you can use in 'DIY' mode for your project. Additionally, paid enterprise level SLA, hosting and customization options are available from us and our integration partners which ensure the product is enterprise friendly and helps to maintain further R&D efforts to make it better.
- Client-side: free, open-source. Closed-source commercial license option available.
- Server-side: freemium (generous free plan + optional paid SLA plans for medium/large businesses). Self-hosted AWS Marketplace option available.
Contact π¬
Drop us <a href="https://www.dappros.com/contact-us/">a line</a> if youβre interested to find out more or to become a contributor to the project.
Also feel free to submit pull requests in this Github repo!