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!
![Screenshot 2023-10-11 at 12 07 13](https://private-user-images.githubusercontent.com/328787/274244752-72db36b2-cd13-41ba-bf5d-c625ea5d55ae.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMjg2NzMsIm5iZiI6MTcyNDMyODM3MywicGF0aCI6Ii8zMjg3ODcvMjc0MjQ0NzUyLTcyZGIzNmIyLWNkMTMtNDFiYS1iZjVkLWM2MjVlYTVkNTVhZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMjA2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xMDI1YzA2OGQ2Y2Y3ZWQxYWMzZjIwYjI4NGM4ZTVlNDIwNTEyYWQwNThmY2MyYjUyZTk0ZWZlZWVhNzE1NmY0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.J13_iDSTi-QuqX9F1V8tqKGLbXa9c5t2iiXqNcgEgAw)
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.
![Screenshot 2023-10-11 at 12 11 27](https://private-user-images.githubusercontent.com/328787/274246520-0128fad0-7422-4671-b34b-c3d9f222a110.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMjg2NzMsIm5iZiI6MTcyNDMyODM3MywicGF0aCI6Ii8zMjg3ODcvMjc0MjQ2NTIwLTAxMjhmYWQwLTc0MjItNDY3MS1iMzRiLWMzZDlmMjIyYTExMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMjA2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01Yzg2NjI3ZmJiMTA5MzRmOGFkMTRjYWE4MTYxZTMyMTNjZmZhYzQ2ZWZhNTRiZDAzODY2Y2Y0OTdlZjc1NzE3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.ngbnlrhHJuwxM51pbrzqfy6bxOg41sjPwtUynAOO5KI)
![Screenshot 2023-10-11 at 12 12 28](https://private-user-images.githubusercontent.com/328787/274247002-d5b52d93-a8fb-4c7e-8860-9ad4c5dbcdca.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMjg2NzMsIm5iZiI6MTcyNDMyODM3MywicGF0aCI6Ii8zMjg3ODcvMjc0MjQ3MDAyLWQ1YjUyZDkzLWE4ZmItNGM3ZS04ODYwLTlhZDRjNWRiY2RjYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMjA2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kOTEwNDljM2QwZTI1MWE0MThjNDU4NDI4ODhlYjA4YmJiODcxMjZiYmIyYTUyZWZkYjI0NTVhZWI1YjUzNDVmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.DoAkrWJvopbT4WjU6avxqoI3c1PgQwxWPsnOGOFPlQ8)
![Screenshot 2023-10-11 at 12 12 52](https://private-user-images.githubusercontent.com/328787/274247193-e87c0dc4-6f18-4852-8a73-a68a6f076c68.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMjg2NzMsIm5iZiI6MTcyNDMyODM3MywicGF0aCI6Ii8zMjg3ODcvMjc0MjQ3MTkzLWU4N2MwZGM0LTZmMTgtNDg1Mi04YTczLWE2OGE2ZjA3NmM2OC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMjA2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mM2MwNjlmNGM2ZmU2ZmJmYjM2ZGFkZWUwNjBlZWU4MDQ1OTYwOWJiZGFjNzhmMDY0YTA3YmJjMDFjNzBhMTUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.IkMlh0RHWKSVV2JxeKi8Y6YcQO1iBWSSdVAupFAWdFM)
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:
- 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.
![Screenshot 2023-10-23 at 15 18 20](https://private-user-images.githubusercontent.com/328787/277368443-9546ee2a-916c-4b80-a974-ef45f5b37959.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMjg2NzMsIm5iZiI6MTcyNDMyODM3MywicGF0aCI6Ii8zMjg3ODcvMjc3MzY4NDQzLTk1NDZlZTJhLTkxNmMtNGI4MC1hOTc0LWVmNDVmNWIzNzk1OS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMjA2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yYTBlNzllMWRhNTg5ODQ1YTFlOTlkMGRjNmZlOWM0ZTE0MjYzMGIwZDhjYmIxMDg1M2VkYWMzMWY2MDZjNmNiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.FGWBWjnOeNPQBqw7s_IZHem-sqvDvI_qZbJEPq4-Xys)
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.
![Screenshot 2023-08-09 at 21 40 57](https://private-user-images.githubusercontent.com/328787/259542172-5c5b5230-e3d5-4f16-9f3a-9aae98649105.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMjg2NzMsIm5iZiI6MTcyNDMyODM3MywicGF0aCI6Ii8zMjg3ODcvMjU5NTQyMTcyLTVjNWI1MjMwLWUzZDUtNGYxNi05ZjNhLTlhYWU5ODY0OTEwNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMjA2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hODZlMWIxNWRjZjAzOGQyNWE1Y2JhNzJjMTUxOGJjZGQxMzYxZTg0NjVhZGFiYzNiZjI2NGMyODAzOTQ2NWM3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.9slQrx-So0zga2KdjbEFHcPlAh9sdqYIHF0mpZhISsI)
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:
![Screenshot 2023-06-08 at 09 59 55](https://private-user-images.githubusercontent.com/328787/244327216-0b944697-c4be-49c7-b952-c8da0d3900e1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMjg2NzMsIm5iZiI6MTcyNDMyODM3MywicGF0aCI6Ii8zMjg3ODcvMjQ0MzI3MjE2LTBiOTQ0Njk3LWM0YmUtNDljNy1iOTUyLWM4ZGEwZDM5MDBlMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMjA2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZjZkZjM5NzZlMDNiNTljNWMwODZmZWZmZjQ2ZjBhZWNmZDhkMTIxMGQ5Njg3ZTRkZWMwOTgxZjY3MjMwNjNmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.KlL2hFQYz2k2sQJ_ED5zjZvN2YuTTNV5vuOYUOcxoRA)
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/
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.
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.
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.
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:
- 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
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
(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.
- 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. 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.
- 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.
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!