Welcome to the Word Synonyms App! This application allows you to manage words and their synonyms through a simple API. It includes a backend written in Go and a frontend built with TypeScript and React.
word-synonyms/
├── backend/ # Go backend code
└── frontend/ # React frontend code
- Go 1.22.5 (for the backend)
- Node.js and pnpm/npm (for the frontend)
cd backend
go run main.go
cd frontend
pnpm install
pnpm run dev
#OR
npm install
npm run dev
Browse to http://localhost:5173
- Backend: Database Transactions
- OpenApi TypeScript (OpenApi TypeScript & Fetch)
- Validator Validator in struct tags - Go Playground Validator
- Update Github Action to use github token to avoid unique cloners - testing this
- rs/cors (I chose this for simplicity, but it would have been nice to implement it myself)
- KY HttpClient (I have wanted to try this for a while.)
- Sonner (Toasts)
- Zod (Schema Validation)
- React Hook form (Form Library)
- Tailwind CSS(CSS utility classes)
Here are some useful resources to help you get started with this project:
- Gophers Discord
- Practical Go (for sql integration)
- API with stdlib 1.22+ (Build API with standard library)
- Github Actions
- Alex Edwards Blog (Organising DB Access)
- Alex Edwards Blog (SQL Databases in Go)
- Alex Edwards Blog (EnforceJsonHandler Middleware)
- React Hook Form (React-Hook-Form Validation with Zod)
- Resource 4
Feel free to explore these links to gain a better understanding of the project and its dependencies. Happy coding!