Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/restarone/violet_rails

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
https://github.com/restarone/violet_rails

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

Last synced: 4 days ago
JSON representation

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

Awesome Lists containing this project

README

        

![violet-logo-horizontal-with-wordmark](https://user-images.githubusercontent.com/35935196/121615020-efc5f880-ca2d-11eb-9e0c-08e2c7926b3a.png)
------
![Ruby/Node.js Build](https://github.com/restarone/violet_rails/workflows/Ruby/badge.svg)
[![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)
[![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)
[![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)
## 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 `[email protected]` 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](https://user-images.githubusercontent.com/35935196/179869983-2ab95b29-ce67-4835-b649-7ac33a0eef39.png)

## 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](https://user-images.githubusercontent.com/35935196/119199494-288b3700-ba59-11eb-8f6b-b97255ab3273.png)
***
#### 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: 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)

#### **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](https://user-images.githubusercontent.com/35935196/119199693-86b81a00-ba59-11eb-8543-96df36b44968.png)

### โœจ **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](https://user-images.githubusercontent.com/35935196/119200274-997f1e80-ba5a-11eb-917c-c8cf64a28a10.png)

### โœจ **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](https://user-images.githubusercontent.com/35935196/119271643-65c60500-bbd0-11eb-8f1e-28367c4d62ff.png)

## โœจ **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: [email protected]), 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 [email protected], 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](https://violet.restarone.solutions/) 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](https://github.com/restarone/violet_rails/wiki/Deploying-to-Heroku)

## 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)