Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/fingertips18/go-react-starter

πŸš€Explore Go (Golang) with hands-on API development and syntax experimentation. Perfect for beginners and devs diving into Go’s core features!
https://github.com/fingertips18/go-react-starter

chakra-ui go golang react-router-dom reactjs starter-project tanstack-react-query typescript

Last synced: 18 days ago
JSON representation

πŸš€Explore Go (Golang) with hands-on API development and syntax experimentation. Perfect for beginners and devs diving into Go’s core features!

Awesome Lists containing this project

README

        

![](src/assets/banner.png)

# πŸš€ Go Starter

This repository serves as a playground for exploring **Go (Golang)** features, including **API development**, **syntax experimentation**, and learning the **basics of Go** programming. Ideal for beginners and developers looking to get hands-on experience with **Go**.

### πŸ”— Website Link: [Live](https://go-starter.onrender.com/)

## πŸ“š Table of Contents

- πŸ”§ [Technologies Used](#tech-used)

- ✨ [Features](#features)

- πŸ“– [Setup Instructions](#setup)

- πŸš€ [Backend (Go)](#backend)

- βš›οΈ [Frontend (React JS)](#frontend)

- πŸ“‘ [API Endpoints](#api)

- 🀝 [Contributing](#contributing)

- πŸ“œ [License](#license)

## πŸ”§ Technologies Used

- **Frontend**: React JS βš›οΈ

- **Backend**: Go (Golang) πŸš€

- **Database**: MongoDB πŸ—„οΈ

- **UI**: Chakra UI 🏠

- **Query**: Tanstack Query 🌐

## ✨ Features

- **πŸ“ CRUD Operations**: Create, Read, Update, and Delete operations for user and application data.

- **πŸ“± Responsive UI**: Developed using **Chakra UI** components, ensuring a seamless experience across devices.

- **πŸ“‘ API**: Robust API constructed using **Express.js** and **MongoDB** for seamless data interaction.

## πŸ“– Setup Instructions

### πŸ› οΈ Backend Go (Golang)

1. **Clone the repository**:

```bash
git clone https://github.com/Fingertips18/go-starter.git
```

2. **Install dependencies**:

```bash
cd go-starter
go mod tidy
```

3. **Set up environment variables. Create a `.env` file in the root directory:**:

```dotenv
MONGO_URI=
PORT=
MODE=
CLIENT_URL=
```

4. **Run the backend server**:
```bash
go run main.go
// or
go install github.com/air-verse/air@latest
air
```

### βš›οΈ Frontend (React JS)

1. **Navigate to the frontend directory**:

```bash
cd client
```

2. **Install dependencies**:

```bash
npm install
```

3. **Set up environment variables. Create a `.env` file in the frontend directory**:

```dotenv
VITE_BASE_URL=
```

4. **Run the frontend server**:
```bash
npm run dev
```

## πŸ“‘ API Endpoints

- **Todos**:

- `GET` **/api/todos**: Retrieve a list of todos.

- `GET` **/api/todos/:id**: Retrieve a single todo by ID.

- `POST` **/api/todos**: Create a new todo.

- `PATCH` **/api/todos/:id**: Update an existing todo by ID.

- `DELETE` **/api/todos/:id**: Delete a todo by ID.

## 🀝 Contributing

Feel free to fork this repository and contribute by submitting a pull request. All contributions are welcome!

#### πŸ§‘β€πŸ’» Contributors



_Ghian Tan_ @ _Fingertips_ ([Github](https://github.com/Fingertips18))

## πŸ“œ License

This project is licensed under the MIT License.