An open API service indexing awesome lists of open source software.

https://github.com/struckchure/gv

Golang build tool for web.
https://github.com/struckchure/gv

esbuild esbuild-plugin golang reactjs svelte vue

Last synced: 10 months ago
JSON representation

Golang build tool for web.

Awesome Lists containing this project

README

          

# โœจ GV - The Next-Gen Fullstack Web Framework โœจ

GV is a blazing-fast, next-generation fullstack web framework written in Go, designed to make building modern web applications a breeze! ๐Ÿ’จ

## ๐Ÿš€ Description

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. โšก

## ๐Ÿ“ฆ Installation

Get started with GV in just a few steps!

- โฌ‡๏ธ **Clone the Repository**:

```bash
git clone git@github.com:struckchure/gv.git
```

- ๐Ÿ› ๏ธ **Navigate to the Project Directory**:

```bash
cd gv
```

- โœ… **Install Dependencies**:

```bash
go mod tidy
```

## ๐Ÿ’ก Usage

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:

```bash
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:

```bash
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:

1. Run the `new` command:

```bash
gv new
```

2. Follow the prompts to enter your project name, package name, and choose a template (Blank, React, Vue, Svelte).

3. GV will set up the project structure and install the necessary dependencies.

## ๐ŸŒŸ Features

- ๐Ÿ”ฅ **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.

## ๐Ÿ› ๏ธ Technologies Used

| Technology | Description | Link |
| :------------------------------ | :----------------- | :------------------------------------------------------- |
| **Go** | Backend language | [https://go.dev/](https://go.dev/) |
| **esbuild** | JavaScript bundler | [https://esbuild.github.io/](https://esbuild.github.io/) |
| **React** | Frontend library | [https://react.dev/](https://react.dev/) |
| **Vue** | Frontend framework | [https://vuejs.org/](https://vuejs.org/) |
| **Svelte** | Frontend compiler | [https://svelte.dev/](https://svelte.dev/) |
| **Echo** | go web framework | https://echo.labstack.com/ |

## ๐Ÿค Contributing

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.

## ๐Ÿ“œ License

This project is licensed under the [MIT License](LICENSE).

## ๐Ÿ‘จโ€๐Ÿ’ป Author Info

- Mohammed Al-Ameen
- [Github](https://github.com/struckchure)
- [Twitter](https://twitter.com/)
- [LinkedIn](https://linkedin.com/)

---

[![Go Version](https://img.shields.io/github/go-mod/go-version/struckchure/gv)](https://go.dev/)
[![License](https://img.shields.io/github/license/struckchure/gv)](LICENSE)
[![Contributors](https://img.shields.io/github/contributors/struckchure/gv)](https://github.com/struckchure/gv/graphs/contributors)
[![Last Commit](https://img.shields.io/github/last-commit/struckchure/gv)](https://github.com/struckchure/gv/commits/main)
[![Readme was generated by Dokugen](https://img.shields.io/badge/Readme%20was%20generated%20by-Dokugen-brightgreen)](https://www.npmjs.com/package/dokugen)