|
1 | | -- [x] Basic table view with type badges |
2 | | -- [x] Sorting |
3 | | -- [ ] Pagination |
4 | | -- [ ] Better build process |
5 | | -- [ ] V0.1.0 release |
6 | | -- [ ] Edit Form/ Detail View (modal?) |
7 | | -- [ ] Dealing with nested entities |
8 | | -- [ ] Navigation to other entities/ parent entities |
9 | | -- [ ] Replace tanstack/table with simple table |
| 1 | +# GCP Datastore Emulator UI |
| 2 | + |
| 3 | +A user-friendly, efficient, and modern UI for the GCP Datastore Emulator, designed for ease of use without compromising on resource efficiency. |
| 4 | + |
| 5 | +## Introduction |
| 6 | + |
| 7 | +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 and Next.js to serve a static site from the same server. This approach not only simplifies deployment but also ensures low overhead. |
| 8 | + |
| 9 | +## Key Features |
| 10 | + |
| 11 | +- **Lightweight Design**: Optimized for minimal resource consumption. |
| 12 | +- **Basic Table View**: With type badges for easy comprehension. |
| 13 | +- **Server-side Sorting**: Easily sort your data for better analysis. |
| 14 | +- **Server-side Pagination**: Navigate through large datasets with ease. |
| 15 | + |
| 16 | +## Motivation |
| 17 | + |
| 18 | +This project is born out of the need for a practical and non-resource intensive UI for the GCP Datastore Emulator. While many solutions exist, they often compromise on either simplicity or efficiency. The goal with this implementation is to strike the perfect balance, with a keen eye on resource optimization. The ability to edit entities directly in the UI sets this project apart from existing solutions. |
| 19 | + |
| 20 | +--- |
| 21 | + |
| 22 | +## Getting Started |
| 23 | + |
| 24 | +Getting up and running with the GCP Datastore Emulator UI is straightforward. Follow these steps to build your own binaries using our `Makefile`. |
| 25 | + |
| 26 | +### Building Your Own Binaries |
| 27 | + |
| 28 | +1. **Clone the Repository** |
| 29 | + Start by cloning this repository to your local machine. |
| 30 | + |
| 31 | + ```bash |
| 32 | + git clone https://github.com/Cyna298/gcp-datastore-ui.git |
| 33 | + cd gcp-datastore-ui |
| 34 | + ``` |
| 35 | + |
| 36 | +2. **Use the Makefile** |
| 37 | + |
| 38 | + We've provided a Makefile for easy building of the binaries. Make sure to update the `PROJECT_ID` variable in the Makefile to match your GCP project ID and `EMU_PORT` to match the port on which your emulator is running. You can also update the `PORT` variable to change the port on which the UI will be served. |
| 39 | + |
| 40 | + Navigate to the project's root directory and run: |
| 41 | + |
| 42 | + ```bash |
| 43 | + make setup |
| 44 | + ``` |
| 45 | + |
| 46 | + This will compile the backend and frontend parts of the application and copy the frontend build to the backend's `out` directory. |
| 47 | + |
| 48 | +3. **Run the Application** |
| 49 | + After the build is complete, you can start the application using: |
| 50 | + |
| 51 | + ```bash |
| 52 | + make run-backend |
| 53 | + ``` |
| 54 | + |
| 55 | + This will start the backend server and the frontend interface. |
| 56 | + |
| 57 | +### Future Plans for Standalone Releases |
| 58 | + |
| 59 | +We're working towards providing standalone releases of the GCP Datastore Emulator UI. These releases will offer a simplified, one-step setup process, making it easier than ever to get started. Stay tuned for updates! |
| 60 | + |
| 61 | +--- |
| 62 | + |
| 63 | +## 🚀 Roadmap |
| 64 | + |
| 65 | +We're on an exciting journey to enhance the GCP Datastore Emulator UI. Here's a glance at what we've achieved and what we're planning next: |
| 66 | + |
| 67 | +- [x] **Basic Table View with Type Badges** |
| 68 | + _Efficient display of data with clear type indication._ |
| 69 | + |
| 70 | +- [x] **Sorting** |
| 71 | + _Organize and analyze your data with ease._ |
| 72 | + |
| 73 | +- [x] **Pagination** |
| 74 | + _Navigate through large datasets more efficiently._ |
| 75 | + |
| 76 | +- [x] **Improved Build Process** |
| 77 | + _Streamlining the build process for easier setup._ |
| 78 | + |
| 79 | +- [ ] **V0.1.0 Release** |
| 80 | + _Our first major milestone on the horizon._ |
| 81 | + |
| 82 | +- [ ] **Edit Form / Detail View** |
| 83 | + _Intuitive UI for directly editing entities._ |
| 84 | + |
| 85 | +- [ ] **Nested Entities** |
| 86 | + _Handling complex data structures with ease._ |
| 87 | + |
| 88 | +- [ ] **Entity Navigation** |
| 89 | + _Seamless navigation between related entities._ |
| 90 | + |
| 91 | +- [ ] **Simplified Table** |
| 92 | + _Enhancing performance with a new table implementation._ |
| 93 | + |
| 94 | +--- |
| 95 | + |
| 96 | +## Contributing |
| 97 | + |
| 98 | +We welcome contributions! Please open an issue or submit a pull request to propose changes. |
| 99 | + |
| 100 | +## License |
| 101 | + |
| 102 | +This project is licensed under the [MIT License](https://github.com/Cyna298/gcp-datastore-ui/blob/master/LICENSE). |
| 103 | + |
| 104 | +## Support and Contact |
| 105 | + |
| 106 | +For support, feature requests, or any queries, please [open an issue](https://github.com/Cyna298/gcp-datastore-ui/issues) |
| 107 | + |
| 108 | +--- |
0 commit comments