feat: initial commit
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# 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
|
||||
|
||||
1. Clone the repository:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/yourusername/lk-api-template.git
|
||||
cd lk-api-template
|
||||
```
|
||||
|
||||
2. Install backend dependencies:
|
||||
|
||||
```bash
|
||||
go mod download
|
||||
```
|
||||
|
||||
3. Install frontend dependencies:
|
||||
|
||||
```bash
|
||||
cd web
|
||||
npm install
|
||||
```
|
||||
|
||||
4. Set up environment variables:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# Edit .env with your configuration
|
||||
```
|
||||
|
||||
## 🚀 Development
|
||||
|
||||
### Backend
|
||||
|
||||
Run the backend server with hot reload:
|
||||
|
||||
```bash
|
||||
air
|
||||
```
|
||||
|
||||
The API will be available at `http://localhost:8080` with the base path `/v1`.
|
||||
|
||||
### Frontend
|
||||
|
||||
Run the frontend development server:
|
||||
|
||||
```bash
|
||||
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:
|
||||
Reference in New Issue
Block a user