A basic full-stack todo list application with a Go (Golang) REST API backend and a React frontend with a professional-grade storage architecture.
Backend (Go + Gin): RESTful API with CRUD operations. Frontend (React + Vite): Modern reactive UI with Hooks (useState, useEffect). Styling (Tailwind CSS): Dark-mode interface with optimistic UI. Persistence: File-based JSON storage. Architecture: Refactored into "Standard Go Layout" (cmd, internal).
βββ backend/
β βββ cmd/server/main.go # Entry point
β βββ internal/models/todo.go # Data structures
β βββ internal/store/file.go # File I/O logic
β βββ db/db.json # Database
β βββ go.mod # Dependencies
β βββ go.sum
βββ frontend/
βββ src/App.tsx # React UI & Logic
βββ src/index.css # Tailwind Imports
βββ vite.config.ts # Build Config
βββ package.json
- Backend: Go (REST API).
- Backend Framework: Gin
- Frontend: React, TypeScript
- Database: File System storage
Open Terminal 1
cd backend
go run cmd/server/main.goServer runs on localhost:8080
Open Terminal 2
cd frontend
npm run devBrowser opens at localhost:5173
- Go: Structs, Slices, JSON Marshalling, Modules, Package Exporting.
- React: Functional Components, Hooks, API Integration (fetch, async/await), Controlled Inputs.
- General: REST API Design, CORS, JSON Persistence, Refactoring,TypeScript(for styling), axios (for API calls)