{"id":13878587,"url":"https://github.com/restarone/violet_rails","last_synced_at":"2026-01-04T01:18:14.435Z","repository":{"id":37000773,"uuid":"354359772","full_name":"restarone/violet_rails","owner":"restarone","description":"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 \u0026 easily extendable for your next SaaS/XaaS project. Built with Rails 6, Devise, Sidekiq \u0026 PostgreSQL","archived":false,"fork":false,"pushed_at":"2024-12-02T01:52:22.000Z","size":39826,"stargazers_count":99,"open_issues_count":357,"forks_count":43,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T08:08:56.842Z","etag":null,"topics":["blog","cms","ember","emberjs","etl-automation","etl-framework","etl-pipeline","forum","multi-tenancy","multitenancy","rails","ruby","ruby-on-rails","rubyonrails","saas","saas-boilerplate","template","violet-rails","wordpress-replacement","xaas"],"latest_commit_sha":null,"homepage":"https://violet.restarone.solutions","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/restarone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-03T18:02:08.000Z","updated_at":"2025-03-06T21:25:07.000Z","dependencies_parsed_at":"2023-02-19T02:45:49.091Z","dependency_job_id":"407be87c-d477-4c53-a234-5067331eccc1","html_url":"https://github.com/restarone/violet_rails","commit_stats":{"total_commits":851,"total_committers":6,"mean_commits":"141.83333333333334","dds":0.4535840188014101,"last_synced_commit":"aa064fb5aeefe1876c51e059500ffa6f05917a98"},"previous_names":[],"tags_count":163,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/restarone%2Fviolet_rails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/restarone%2Fviolet_rails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/restarone%2Fviolet_rails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/restarone%2Fviolet_rails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/restarone","download_url":"https://codeload.github.com/restarone/violet_rails/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312081,"owners_count":20918344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","cms","ember","emberjs","etl-automation","etl-framework","etl-pipeline","forum","multi-tenancy","multitenancy","rails","ruby","ruby-on-rails","rubyonrails","saas","saas-boilerplate","template","violet-rails","wordpress-replacement","xaas"],"created_at":"2024-08-06T08:01:53.955Z","updated_at":"2026-01-04T01:18:14.405Z","avatar_url":"https://github.com/restarone.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"![violet-logo-horizontal-with-wordmark](https://user-images.githubusercontent.com/35935196/121615020-efc5f880-ca2d-11eb-9e0c-08e2c7926b3a.png)\n------\n![Ruby/Node.js Build](https://github.com/restarone/violet_rails/workflows/Ruby/badge.svg)\n[![Brakeman Scan](https://github.com/restarone/violet_rails/actions/workflows/brakeman-analysis.yml/badge.svg)](https://github.com/restarone/violet_rails/actions/workflows/brakeman-analysis.yml)\n[![Heroku Deployments](https://github.com/restarone/violet_rails/actions/workflows/heroku-deploy.yml/badge.svg)](https://github.com/restarone/violet_rails/actions/workflows/heroku-deploy.yml)\n[![AWS EC2 Deployments](https://github.com/restarone/violet_rails/actions/workflows/deploy.yml/badge.svg)](https://github.com/restarone/violet_rails/actions/workflows/deploy.yml)\n## The Ultimate Rails-based, Web and Automation Platform 🌐 \n\nBuilt for your digital needs, trusted by startups and founders 🚀\n\nViolet enables subdomain based:\n\n- 📧 Email\n- ✍️ Blog\n- ℹ️ Forum \n- 📊 Analytics \n- 🦾 Automation \n- 🤝 Collaboration  \n\nSo 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.\n\nFeel the power \u0026 productivity of the Majestic Monolith! 🐘\n\n## Architecture overview\n\n![Document systems-2](https://user-images.githubusercontent.com/35935196/179869983-2ab95b29-ce67-4835-b649-7ac33a0eef39.png)\n\n\n\n## Features ✨\n### ✨ **A powerful website builder** 🌍\nPowered 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. \n![Screenshot from 2021-05-21 17-21-45](https://user-images.githubusercontent.com/35935196/119199494-288b3700-ba59-11eb-8f6b-b97255ab3273.png)\n***\n#### Examples of inspirational websites built with Violet Rails 🚀\n\n1. Coffee Oysters Champagne: https://www.sipshucksip.com\n2. Marked Restaurant: http://markedrestaurant.com\n3. a toi: https://a-toi.ca\n***\n\n### ✨ **A flexible app, automation and analytics platform** 🦾\nBuild apps and automation with Violet Rails API Namespace: https://github.com/restarone/violet_rails/wiki/API:-Entities,-Form-Rendering,-Interfaces-and-Actions\n#### **Building forms** 📜\nBuild 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. \n\u003cimg width=\"1728\" alt=\"Screen Shot 2022-06-26 at 5 59 10 PM\" src=\"https://user-images.githubusercontent.com/35935196/175835386-4dca9672-425b-4be0-b415-f488470d22c8.png\"\u003e\n#### **Automation** 🤖\nBuild custom automation (eg mailchimp: https://github.com/restarone/violet_rails/issues/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)\n\n#### **Analytics** 📈\nEasily build funnels and data analytics systems with Violet Rails Data pipeline. \n\u003cimg width=\"1728\" alt=\"Screen Shot 2022-06-26 at 6 08 34 PM\" src=\"https://user-images.githubusercontent.com/35935196/175835577-3752a1f1-8c00-4b41-93c1-50878d04bdf6.png\"\u003e\n\u003cimg width=\"1728\" alt=\"Screen Shot 2022-06-26 at 6 08 46 PM\" src=\"https://user-images.githubusercontent.com/35935196/175835586-c75a5f16-0113-4141-8057-2269c5e48255.png\"\u003e\n\n#### ✨ **Native iOS support** 📱 🍎\nEvery Violet Rails app transition seamlessly between web (left) and iOS (right)\n\u003cimg width=\"1728\" alt=\"Screen Shot 2022-06-26 at 1 46 32 PM\" src=\"https://user-images.githubusercontent.com/35935196/175827355-b7d7e41b-c116-4d22-b9c2-226bd9ca0dad.png\"\u003e\n\niOS repository: https://github.com/restarone/violet_rails_ios_client\n\n\n#### Examples of inspirational ✨ apps 🗺️ built with Violet Rails 🚀\n\n1. Nikean Foundation: https://www.nikean.org\n2. Restarone Solutions Tech Support: https://support.restarone.solutions\n3. Restarone Software Solutions: https://restarone.com\n4. Marked Restaurant: http://markedrestaurant.com\n5. Opportunities at Restarone: http://contractors.restarone.solutions\n\n***\n\n### ✨ **Rich user management system with invites and granular permissions** 🧑‍🤝‍🧑\nAllow your outreach team to support the forum and blog, while the designers and developers work on the web pages. \n![Screenshot from 2021-05-21 17-25-15](https://user-images.githubusercontent.com/35935196/119199693-86b81a00-ba59-11eb-8543-96df36b44968.png)\n\n### ✨ **Simplest Email Service** 📧\nEach Violet Rails \nsubdomain will have access to its own emailbox for sending and receiving emails:\n\u003cimg width=\"1728\" alt=\"Screen Shot 2022-06-26 at 5 55 10 PM\" src=\"https://user-images.githubusercontent.com/35935196/175835219-831a78f9-809f-4b9e-a99e-d3406983cf7b.png\"\u003e\n\n### ✨ **Forum** 🤝\nFull fledged community support with moderators and user permissions\n\u003cimg width=\"1728\" alt=\"Screen Shot 2022-06-26 at 6 16 51 PM\" src=\"https://user-images.githubusercontent.com/35935196/175835826-ffa7f1c7-6bcc-416a-9dab-915bc90697a9.png\"\u003e\n\n\n\n### ✨ **Blog** ✍️\nBlogging, everyone needs it right?\n![Screenshot from 2021-05-21 17-31-21](https://user-images.githubusercontent.com/35935196/119200274-997f1e80-ba5a-11eb-917c-c8cf64a28a10.png)\n\n### ✨ **Two-tier admin system** 📋\nDomain admins have control over which subdomains can be created (via approval) and destroyed. Subdomain admins have full control over their subdomain only.\n![Screenshot from 2021-05-23 14-04-06](https://user-images.githubusercontent.com/35935196/119271643-65c60500-bbd0-11eb-8f1e-28367c4d62ff.png)\n\n## ✨ **Sensible architecture and safe defaults**\n\n* 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).\n* 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.\n* 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.\n\n## ✨ **Authorization layers**\nAfter deploying violet, you will be able to connect and setup your cannonical page and user account from the Rails console.\n### 1. App Owners (Violet Sys Admin)\n* 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\n* 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\n* All these components can be administrated at https://hello.yourdomain.com/admin with granular user permissions \n### Subdomain Owners (Web Admin)\nTo register a subdomain, visit https://yourdomain.com/signup_wizard \nFor security purposes, this only generates a request-- so the sysadmin will need to approve the subdomain registration at: https://www.yourdomain.com/sysadmin\n\n* If you are the first user in a subdomain, you are conferred maximum permissions\n\n## Deployment 🚀\n### There are 2 options for deployment using AWS EC2 and Heroku\n\nThe [Demo](https://violet.restarone.solutions/) of `violet_rails` is deployed on AWS EC2 (using Ubuntu 20.04 LTS) \u0026 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)\n\nIf you prefer deploying to Heroku, [you can view the guide for that here](https://github.com/restarone/violet_rails/wiki/Deploying-to-Heroku)\n\n## Want to build on top of Violet Rails?\nThe 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)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frestarone%2Fviolet_rails","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frestarone%2Fviolet_rails","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frestarone%2Fviolet_rails/lists"}