"Happybase stands firmly with the people of Occupied Palestine, as we have from the beginning. We are a community of technologists, designers, and developers who are committed to using our skills and talents to create a better world for all. π΅πΈπ΅πΈπ΅πΈ"
Welcome to Happybase, a SQL collaboration platform with a notion-like interface to provide seamless integration with your data sources and powerful generative AI capabilities (soon). This README will dive into the architecture, key components, and routes of Happybase.
Happybase is built on a modern tech stack that ensures scalability, security, and ease of use. Here's an overview of the core components:
Shadcn is used to build the UI components of Happybase. It provides a robust and flexible foundation for creating a responsive and aesthetically pleasing user interface.
Clerk is integrated for authentication, ensuring secure and seamless user management. It handles user sign-up, login, and organization management, providing a smooth user experience.
Supabase serves as the backend database and real-time server. It offers an easy-to-use interface for managing database operations, authentication, and real-time updates.
The App Router is used to manage the application's navigation and routing. It ensures smooth transitions between different sections of the dashboard and API routes.
Happybase has several key routes for managing data sources and viewing dashboards:
This route allows users to add new data sources to their dashboard. Users can connect various data sources including Semantic Layers such as Cube.
The home route serves as the main dashboard view, where users can see an overview of their data sources, charts, and analytics.
This route allows users to view and interact with their documents.
Happybase provides API routes to manage data sources and handle chat interactions:
This API route handles the addition of new data sources to the user's dashboard.
This API route manages the fetching of sources from Supabase in a multi-tenant fashion based on the organization ID.
This API route creates documents with an ID schema based on Segment's KSUID. It also handles the creation of new documents and the addition of new data to existing documents.
Happybase uses Velt to power realtime collaboration between multiple users in a Figma-esque interface. Users can create documents, add data to documents, and comment on documents.
Happybase allows users to query their data sources such as Clickhouse straight from a Notion-like interface. In the future, I hope to build in chart components and other visualization capabilities.
With these tools and functionalities, Happybase offers a seamless experience for managing SQL. We hope this README helps you understand the architecture and capabilities of Happybase. Happy charting!
Thank you for considering contributing to our project! Please follow these guidelines for smooth collaboration:
-
Fork the repository and create your branch from master.
-
Ensure your code adheres to our coding standards and conventions.
-
Test your changes thoroughly and add a test case in the tests folder.
-
Submit a pull request with a clear description of the problem and solution.