-
Notifications
You must be signed in to change notification settings - Fork 43
Home
violet_rails
is a Ruby on Rails template that implements a web CMS & blog along with a lightweight email client and server. Violet ships with a two tier authorizatiion strategy that makes building SaaS and XaaS products quickly.
- 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 WSIWYG 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.
After Violet application deployment
- If you are a domain owner (eg: https://yourdomain.com) you can find the Violet OwnerAdmin at https://www.yourdomain.com/admin
- For security, the
www
subdomain is protected for use by the internal system. So, visiting https://www.yourdomain.com/admin before signing in results in an error-- to get around this issue visit https://www.yourdomain.com/sign_in and login with your owner credentials first. - 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] and a simple blog at https://hello.yourdomain.com/blog
After the subdomain request has been granted by the App/Domain owner
- You can find the Violet WebAdmin at https://yoursubdomain.yourdomain.com/admin
- If you are the first user in a subdomain, you are conferred maximum permissions
The Demo of violet_rails
is deployed on AWS EC2 (using Ubuntu 20.04LTS) & 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)
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)