The Ultimate Rails-based, Web and Automation Platform 🌐
Built for your digital needs, trusted by startups and founders 🚀
Violet enables subdomain based:
- ✍️ Blog
- ℹ️ Forum
- 📊 Analytics
- 🦾 Automation
- 🤝 Collaboration
So you can have your marketing site hosted on www.mywebsite.com
, while receiving support requests under support@mywebsite.com
and building the Next Big Thing®️™️ at app.mywebsite.com
-- all powered by Violet Rails.
Feel the power & productivity of the Majestic Monolith! 🐘
Architecture overview
Features ✨
✨ A powerful website builder 🌍
Powered by a rich Content Management System with out of the box support for Bootstrap 4 and jQuery, you can edit HTML templates either with a content first or markup first approach. Create both public and private web pages with ease.
Examples of inspirational websites built with Violet Rails 🚀
- Coffee Oysters Champagne: https://www.sipshucksip.com
- Marked Restaurant: http://markedrestaurant.com
- a toi: https://a-toi.ca
✨ A flexible app, automation and analytics platform 🦾
Build apps and automation with Violet Rails API Namespace: https://github.com/restarone/violet_rails/wiki/API:-Entities,-Form-Rendering,-Interfaces-and-Actions
Building forms 📜
Build spam-resistant forms with Google Recaptcha v2 or v3. Since all systems in Violet Rails are vertically integrated, your forms can talk to your automations and analytics.
Automation 🤖
Build custom automation (eg mailchimp: #720) with ease with Ruby code or our HTTP API Editor (https://github.com/restarone/violet_rails/wiki/API:-Entities,-Form-Rendering,-Interfaces-and-Actions#http-api-editor-example-discord-bot)
Analytics 📈
Easily build funnels and data analytics systems with Violet Rails Data pipeline.
✨ Native iOS support 📱 🍎
Every Violet Rails app transition seamlessly between web (left) and iOS (right)
iOS repository: https://github.com/restarone/violet_rails_ios_client
Examples of inspirational ✨ apps 🗺️ built with Violet Rails 🚀
- Nikean Foundation: https://www.nikean.org
- Restarone Solutions Tech Support: https://support.restarone.solutions
- Restarone Software Solutions: https://restarone.com
- Marked Restaurant: http://markedrestaurant.com
- Opportunities at Restarone: http://contractors.restarone.solutions
✨ Rich user management system with invites and granular permissions 🧑🤝🧑
Allow your outreach team to support the forum and blog, while the designers and developers work on the web pages.
✨ Simplest Email Service 📧
Each Violet Rails
subdomain will have access to its own emailbox for sending and receiving emails:
✨ Forum 🤝
Full fledged community support with moderators and user permissions
✨ Blog ✍️
Blogging, everyone needs it right?
✨ Two-tier admin system 📋
Domain admins have control over which subdomains can be created (via approval) and destroyed. Subdomain admins have full control over their subdomain only.
✨ Sensible architecture and safe defaults
- Database multi-tenancy: Serious SaaS and XaaS apps need to support database multi-tenancy. So if you ship Violet with Postgres you will have schema based multi-tenancy with the option of routing each client at run-time to an external Postgres server. All of this is implemented in a simple way, just by subdomain (eg: design.your-website.com).
- Flexible and code first: The Violet CMS is powered by
comfortable_mexican_sofa
and offers the customizability of a Rails engine with full WYSIWYG functionality (its recommended that you stick to HTML/CSS/JS for static web hosting). Outside of this, its just Ruby on Rails -- the world is your oyster. - Ready to Deploy: Violet comes with a barebones App Owner UI that helps you hit the ground running by managing subdomain requests. Each subdomain has its own roster of Users and an automatically allocated email-box (eg: design@your-website.com), blog (eg: www.your-website.com/blog) and landing page (www.yourwebsite.com). Granular permissioning for users can be managed at the subdomain level.
✨ Authorization layers
After deploying violet, you will be able to connect and setup your cannonical page and user account from the Rails console.
1. App Owners (Violet Sys Admin)
- If you are a domain owner (eg: https://yourdomain.com) you can find the Violet SysAdmin at https://www.yourdomain.com/sysadmin or https://yourdomain.com/sysadmin
- Any subdomain name on your domain can be reserved for web hosting, blog, and email functionality. For example, registering https://hello.yourdomain.com will automatically generate a website for https://hello.yourdomain.com, an email address at hello@yourdomain.com, a blog at https://hello.yourdomain.com/blog and a forum at https://hello.yourdomain.com/forum
- All these components can be administrated at https://hello.yourdomain.com/admin with granular user permissions
Subdomain Owners (Web Admin)
To register a subdomain, visit https://yourdomain.com/signup_wizard For security purposes, this only generates a request-- so the sysadmin will need to approve the subdomain registration at: https://www.yourdomain.com/sysadmin
- If you are the first user in a subdomain, you are conferred maximum permissions
Deployment 🚀
There are 2 options for deployment using AWS EC2 and Heroku
The Demo of violet_rails
is deployed on AWS EC2 (using Ubuntu 20.04 LTS) & requires some server setup/automation with Capistrano. The steps are outlined in-detail here: https://github.com/restarone/violet_rails/wiki/Deploying-to-EC2-(with-Capistrano)
If you prefer deploying to Heroku, you can view the guide for that here
Want to build on top of Violet Rails?
The local development environment is supported by docker. After installing docker
and docker-compose
take a look at the development cheatsheet for setting up the development environment along with useful scripts: https://github.com/restarone/violet_rails/wiki/Getting-started-(development-cheatsheet)