/raytha

Raytha is a powerful CMS with an easy-to-use interface and fast performance. It offers custom content types, a template engine, and various access controls. It supports multiple storage providers and an automatically generated REST API. Upgrade your development workflow with Raytha.

Primary LanguageC#MIT LicenseMIT

MIT License Dev Build

rsz_color_logo_with_background

Raytha is a versatile and lightweight general purpose content management system. Create any type of website by easily configuring custom content types and HTML templates that can be directly edited within the platform.

🚀 Try out Raytha with a 14-day free trial on our cloud hosting platform.

See it in action (2 min 📹)
RaythaSilentDemo3.mp4

🌐 Raytha.com 📹 Intro Video 📖 User Guide 👨‍💻 Developer Docs

image

Feature Highlights

  • Content Types: Effortlessly create and customize content types, no code changes required.
  • Role Based Access Control: Design customized roles with specific access permissions and assign them to individual users.
  • Built In Template Engine: Easily modify templates within the platform using the popular Liquid templating engine.
  • Headless Mode: Instant access to a REST API based on your content, automatically generated for you.
  • Audit Logs: Built-in audit trail that tracks all edits made for enhanced security.
  • Single Sign On: SAML and Json Web Token authentication are available out of the box for both administrators and public users.
  • Revisions: Revisions of all content and templates are stored, enabling you to go back and revert to a previous version if needed.
  • File Storage: The platform supports local file storage by default, but cloud storage options such as Azure Blob or S3-Compatible can be enabled if desired.

👀 Learn more about Raytha on our website. and the Raytha Youtube channel 📺.

Why Raytha?

Content Managers Love It

📝 Content managers love Raytha not only for its minimal learning curve, simplicity, and self-evident UI, but also for its ease of granting different permission levels and roles to various admins, as well as its ability to revert back to previous versions of articles effortlessly. Raytha's audit logs functionality is also highly valued by content administrators, allowing them to keep track of all changes made to the content, and ensuring greater transparency and accountability across the organization.

Rapid Prototyping

👨‍💻 Know HTML? Raytha makes it easy for project managers and tech-savvy individuals to create custom websites in a snap. You can go the distance with just a basic understanding of HTML. From blogs and corporate sites to photo and video galleries, event websites, job boards, and beyond, Raytha can help you rapidly prototype a new concept.

Starter Kit for Developers

🚀 If you're a .NET developer looking to jumpstart your web application development, Raytha's boilerplate template can save you valuable time. Raytha offers a host of features including user management, role-based access control (RBAC), single sign-on, and audit logs functionality, as well as interfaces for file storage with Azure Blob and S3-compatible providers. Its architecture is built on the well-known CleanArchitecture template, which means that any .NET developer can easily familiarize themselves with the backend functionality. With Raytha, you can hit the ground running and get your web application up and running in no time.

Developer Quick Start

A priority of Raytha is to keep the technology footprint small for getting up and running as quickly as possible. However, you do need the minimum requirements listed below:

  • .NET 8
  • npm for compiling javascript
  • SQL Server Express
  • SMTP
  • Visual Studio 2022 or VS Code. All tutorials will assume Visual Studio.

The steps to run Raytha locally are that of any typical .NET application.

  1. Clone this repository into your local directory.
git clone https://github.com/RaythaHQ/raytha.git
  1. Ensure your appsettings.config has a valid database connection string and SMTP credentials. If you do not have access to an SMTP server for local development, check out Papercut-SMTP. Super convenient.

  2. Make sure Raytha.Web is set as the Default Project. Compile and run. Raytha will apply the database migrations to your database on first run.

If you prefer to run migrations manually, you can set APPLY_PENDING_MIGRATIONS to false in appsettings.json or env variables and then open the Package Manager Console and run Entity Framework database migrations:

dotnet ef database update --project .\src\Raytha.Infrastructure --startup-project .\src\Raytha.Web

or run the FreshCreateOnLatestVersion.sql script in the /db directory.

Optional

By default, it will use local file system and use the directory specified in appsettings.config. You can adjust the appsettings.config if you have access to Azure Blob or an S3 compatible storage.

Docker

Raytha is available on DockerHub with a quick start guide.

Community support

For general help using Raytha, please refer to official documentation on raytha.com, the Raytha Youtube channel, or post your questions and feedback in Github Discussions. Keep up to date on Raytha news by following @raythahq on Twitter and Instagram.

Contributing to Raytha

Raytha is open-source software, freely distributable under the terms of an MIT license.

We welcome contributions in the form of feature requests, bug reports, pull requests, or thoughtful discussions in the GitHub discussions and issue tracker. Please see the CONTRIBUTING document for more information.

Raytha was founded by Zack Schwartz @apexdodge.