Skip to content

an app engine for your business. Seamlessly implement business logic with a powerful API. Out of the box CMS, blog, forum and email functionality. Developer friendly & easily extendable for your next SaaS/XaaS project. Built with Rails 6, Devise, Sidekiq & PostgreSQL

License

restarone/violet_rails

Repository files navigation

violet-logo-horizontal-with-wordmark

Ruby/Node.js Build Brakeman Scan Heroku Deployments AWS EC2 Deployments

The Ultimate Rails-based, Web and Automation Platform 🌐

Built for your digital needs, trusted by startups and founders 🚀

Violet enables subdomain based:

  • 📧 Email
  • ✍️ 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

Document systems-2

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. Screenshot from 2021-05-21 17-21-45


Examples of inspirational websites built with Violet Rails 🚀

  1. Coffee Oysters Champagne: https://www.sipshucksip.com
  2. Marked Restaurant: http://markedrestaurant.com
  3. 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. Screen Shot 2022-06-26 at 5 59 10 PM

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. Screen Shot 2022-06-26 at 6 08 34 PM Screen Shot 2022-06-26 at 6 08 46 PM

Native iOS support 📱 🍎

Every Violet Rails app transition seamlessly between web (left) and iOS (right) Screen Shot 2022-06-26 at 1 46 32 PM

iOS repository: https://github.com/restarone/violet_rails_ios_client

Examples of inspirational ✨ apps 🗺️ built with Violet Rails 🚀

  1. Nikean Foundation: https://www.nikean.org
  2. Restarone Solutions Tech Support: https://support.restarone.solutions
  3. Restarone Software Solutions: https://restarone.com
  4. Marked Restaurant: http://markedrestaurant.com
  5. 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. Screenshot from 2021-05-21 17-25-15

Simplest Email Service 📧

Each Violet Rails subdomain will have access to its own emailbox for sending and receiving emails: Screen Shot 2022-06-26 at 5 55 10 PM

Forum 🤝

Full fledged community support with moderators and user permissions Screen Shot 2022-06-26 at 6 16 51 PM

Blog ✍️

Blogging, everyone needs it right? Screenshot from 2021-05-21 17-31-21

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. Screenshot from 2021-05-23 14-04-06

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)

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)