A 'super app' engine for your project. React Native (iOS, Android) and React.js (Web, desktop). Social Sign In π΅, Messaging π¬ (chat, voice, push notifications), Web3 Wallet πͺͺ (profile QR, documents, coins, NFT), DLT π (provenance, crypto signing), Gamification π€©, Social Commerce and more.
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 ]
Simply:
(1) clone this repo OR use our web builder
(2) change app name, logo, colors, things like Firebase ID (optional)
πͺ get your own iOS, Android and Web apps ready to fly!
Coding experience is optional. React Native and React.js developers can make deeper changes altering or extending any of the functionalities.
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!
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.
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
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.
Some ideas of what you can build with Ethora engine:
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.
Standard UI
Branded (customized) UI
The fastest π way to get your app running is to use our "Apps" web interface that takes care of the following:
This gets you running within MINUTES β±οΈ.
You can always customize later either via web UI or directly via code.
App Builder Demo
Q: How is this hosted? Can I self-host?
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?
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:
Q: How do I create an account and play with this builder?
A: Sign up for a Free account here: https://www.dappros.com/pricing/, sign in & go into "Apps" section of the menu.
You can test web version here: https://ethora.ethoradev.com/
Users profile
Chat screen
Minimized view
Sharing a chat room via QR or hyperlink
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
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
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.
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
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:
Ethora is all for sticky, long-lasting and self-supporting communities. There are gamification features that work out of the box, for example:
Referrals
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:
(enable subtitles to see explanations)
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.
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.
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.
AUTHORS. Ethora and its server infrastructure (Dappros Platform, chat & push services etc) have been developed since 2018 by Dappros and DeepX. 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 sign up 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.
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.
Drop us a line 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!