GV is a blazing-fast, next-generation fullstack web framework written in Go, designed to make building modern web applications a breeze! 💨
GV combines the power of Go on the backend with the flexibility of modern frontend frameworks like React, Vue, and Svelte. With features like Hot Module Replacement (HMR), CDN dependency management, and a plugin container, GV offers a streamlined development experience that boosts productivity and performance. ⚡
Get started with GV in just a few steps!
- ⬇️ Clone the Repository:
git clone git@github.com:struckchure/gv.git
- 🛠️ Navigate to the Project Directory:
cd gv
- ✅ Install Dependencies:
go mod tidy
Here are some basic examples to get you started with GV:
➕ Adding a Dependency
To add a new dependency to your project, use the add
command:
gv add esm:react@19.1.0
This command updates the config.yaml
file and installs the necessary TypeScript definitions.
🔄 Syncing Dependencies
To sync your project's dependencies based on the config.yaml
file, use the sync
command:
gv sync
This ensures all dependencies are installed and up-to-date.
✨ Creating a New Project
To create a new project using one of the provided templates:- Run the
new
command:
gv new
-
Follow the prompts to enter your project name, package name, and choose a template (Blank, React, Vue, Svelte).
-
GV will set up the project structure and install the necessary dependencies.
- 🔥 Hot Module Replacement (HMR): Automatically update your frontend without full page reloads.
- 📦 CDN Dependency Management: Easily manage frontend dependencies from CDNs.
- 🔌 Plugin Container: A powerful plugin system for extending GV's functionality.
- 📝 Automatic TypeScript Definition Generation: Keep your frontend types in sync with your Go backend.
- ⚡ Blazing-Fast Performance: Go's efficiency ensures excellent backend performance.
- 🧩 Flexible Frontend: Supports React, Vue, Svelte, and more.
Technology | Description | Link |
---|---|---|
Go | Backend language | https://go.dev/ |
esbuild | JavaScript bundler | https://esbuild.github.io/ |
React | Frontend library | https://react.dev/ |
Vue | Frontend framework | https://vuejs.org/ |
Svelte | Frontend compiler | https://svelte.dev/ |
Echo | go web framework | https://echo.labstack.com/ |
We welcome contributions to GV! Here are the guidelines:
- 💡 Fork the Repository: Create your own fork of the project.
- 🌿 Create a Branch: Make your changes in a separate branch.
- ✍️ Commit Changes: Add clear and concise commit messages.
- 🧪 Test: Make sure tests pass.
- 🚀 Submit a Pull Request: Send your changes for review.
This project is licensed under the MIT License.