Groovestack
Groovestack is an opinionated fullstack application framework. It relies on specific component choices for each application layer based on experience building scalable platforms across a wide range of industries and use cases.
If you are building applications using these components, then you are already using Groovestack. If you are using some of them, it's possible that a few subtle changes could let you leverage more from the growing Groovestack Community.
- React-Admin
- Frontend
- GraphQL
- API
- Ruby on Rails
- Server
- PostgreSQL
- Database
In addition to these primary stack choices, there are handful of default tools: Typecript (frontend language), Vite (frontend builder), Rollup (production builds)
By adding constraints on these stack components, Groovestack enables creating full stack recipes for advanced end-to-end functionality. For example, there are design recipes for:
- Real-time User Interfaces - use PostgreSQL notify and Websockets to create highly optimized table monitoring and real-time updates in your user interfaces.
- Workflow Automations - Utilize wisper and ActiveRecord callbacks to connect data model mutations to workflows or higher-level services without injecting code into models.
- Scheduled Event Triggers - Utilize Postgres Advisory Locks to enable cluster-wide singletons for cron-like functionality.
Learn More
Get Started
To help you get started, we have create a Groovestack Starter Kit that generates a complete, fullstack application that you can run immediately. It includes several of our CORE modules to help you get started and learn how to build your own Groovestack features.
Make sure you have the pre-requisites. Groovestack requires:- Ruby >= 3.0
- Rails >=7.0
- Node >= 18.0 with Yarn, NPM or PNPM
- PostgreSQL
pnpm create groovestack your-app-name
yarn create groovestack your-app-name
npm create groovestack@latest your-app-name
Start the App
cd your-app-name
./bin/dev
The Stack
React-Admin
React-Admin streamlines admin UI development with a set of reusable components and Data Providers, making it ideal for the frontend layer. Its declarative approach reduces boilerplate, speeding up development. The framework's extensibility and native integration with GraphQL align well with complex, data-rich applications, enhancing both productivity and performance.
GraphQL
GraphQL's strong typing and introspection capabilities work well with Ruby's metaprogramming and React's component-based architecture. Unlike REST, GraphQL is opinionated about query structure and type validation, enabling more efficient, precise data retrieval. This aligns with React's need for state management, making data-fetching more intuitive and less error-prone.
Ruby on Rails
Ruby on Rails provides a mature, convention-over-configuration framework that speeds up development. Its rich ecosystem, support for database migrations, enterprise design patterns make it ideal for evolving applications from prototypes to Internet-scale.
PostgreSQL
PostgreSQL offers robustness, ACID compliance, and extensibility, making it ideal for Groovestack's database layer. It supports advanced data types like JSON and PostGIS, allowing for flexibility in application development. Its strong community and proven scalability align well with Groovestack's focus on building versatile, high-performance applications.
Support Options
Groovestack is free - anyone is able to use these components in your applications.
We are providing enhanced support subscriptions that provide direct access to our team, as well as application licenses for all of our Groovestack CORE Modules.
Subscriptions are 'per team' which allows for multiple developers to have access to support and keys from a single subscription. This also allows keys to be used for CI pipelines when needed.
Frequently Asked Questions
Resources
Subscribe
Signup for email updates and announcements.