7e7af746d031389ce47d8e48cf65c329e6eff504
LK API Template
A modern, production-ready API template built with Go and React, featuring comprehensive authentication, mailing capabilities, and automatic API documentation.
🚀 Features
-
Backend (Go)
- Chi router for efficient HTTP routing
- Swagger/OpenAPI documentation
- SendGrid integration for email notifications
- Rate limiting support
- Redis caching
- PostgreSQL database integration
- JWT-based authentication
- Environment-based configuration
- Structured logging with Zap
- Hot reload support with Air
-
Frontend (React + TypeScript)
- Vite for fast development and building
- TypeScript support
- ESLint configuration for code quality
- Hot Module Replacement (HMR)
📋 Prerequisites
- Go 1.21 or higher
- Node.js 18 or higher
- PostgreSQL
- Redis
- SendGrid API key (for email functionality)
🛠️ Installation
- Clone the repository:
git clone https://github.com/yourusername/lk-api-template.git
cd lk-api-template
- Install backend dependencies:
go mod download
- Install frontend dependencies:
cd web
npm install
- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration
🚀 Development
Backend
Run the backend server with hot reload:
air
The API will be available at http://localhost:8080 with the base path /v1.
Frontend
Run the frontend development server:
cd web
npm run dev
The frontend will be available at http://localhost:5173.
📚 API Documentation
The API documentation is automatically generated using Swagger. Once the server is running, you can access the Swagger UI at:
Languages
Go
98.5%
Makefile
0.8%
TypeScript
0.4%
JavaScript
0.2%
Vue
0.1%