# README

🚀 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
📚 Table of Contents
🔧 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)
-
Clone the repository:
git clone https://github.com/Fingertips18/go-starter.git
-
Install dependencies:
cd go-starter go mod tidy
-
Set up environment variables. Create a
.env
file in the root directory::MONGO_URI=<MONGO_URI> PORT=<PORT> MODE=<MODE> CLIENT_URL=<CLIENT_URL>
-
Run the backend server:
go run main.go // or go install github.com/air-verse/air@latest air
⚛️ Frontend (React JS)
-
Navigate to the frontend directory:
cd client
-
Install dependencies:
npm install
-
Set up environment variables. Create a
.env
file in the frontend directory:VITE_BASE_URL=<VITE_BASE_URL>
-
Run the frontend server:
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)
📜 License
This project is licensed under the MIT License.