A user-friendly, efficient, and modern UI for the GCP Datastore Emulator, designed for ease of use without compromising on resource efficiency. This project leans on server-side rendering to simplify the architecture and focus on minimalistic and efficient design.
- Introduction
- Key Features
- Motivation
- Getting Started
- Demo
- Roadmap
- Contributing
- License
- Support and Contact
GCP Datastore Emulator UI is an open-source project aimed at providing a simple yet powerful user interface for the GCP Datastore Emulator. It's built with a focus on minimal resource usage, combining Golang
, Templ
, and HTMX
to serve a server-side rendered application. This approach ensures low overhead and adheres to the principles of minimalism and resource efficiency.
- Lightweight and Server-side Rendered Design: Focused on minimal resource consumption without reliance on client-side frameworks.
- Server-side Sorting and Pagination: Navigate and manage large datasets efficiently.
- MVVM Architecture Inspiration: Maintaining all state on the backend to simplify the client-side as a pure view representation.
This project is designed to address the need for an efficient, yet simple UI for the GCP Datastore Emulator that does not sacrifice performance for simplicity. By moving away from traditional web app frameworks and embracing a more desktop-app-like architecture, it offers a unique approach to managing and interacting with datastore entities.
Follow these steps to set up the GCP Datastore Emulator UI:
-
Clone the Repository
Start by cloning this repository to your local machine.git clone https://github.com/Cyna298/gcp-datastore-ui.git cd gcp-datastore-ui
-
Install Dependencies
A
Makefile
will be provided in the future. For now downloadtempl
,tailwind-cli
andair
-
Run the Application
Initiate the application using:make run-backend
This launches the backend server, rendering the frontend through server-side templating.
- TUI Interface: Exploring a terminal user interface to completely move away from the web aspect.
Future developments and current features include:
-
Basic Table View with Type Badges
Efficient display of data with clear type indication. -
Sorting
Organize and analyze your data with ease. -
Pagination
Navigate through large datasets more efficiently. -
Improved Build Process
Streamlining the build process for easier setup. -
V0.1.0 Release
Our first major milestone on the horizon. -
Edit Form / Detail View
Intuitive UI for directly editing entities. -
Nested Entities
Handling complex data structures with ease. -
Entity Navigation
Seamless navigation between related entities. -
Simplified Table
Enhancing performance with a new table implementation. -
TUI Based Interface Experimenting with BubbleTea for a text-based user interface.
-
MVVM Architecture: All state managed on the backend, with the frontend as a reflection of this state.
Contributions are welcome! Feel free to open an issue or submit a pull request to suggest changes.
This project is licensed under the MIT License.
For support, feature requests, or queries, please open an issue.