Files
LK_API_Temp/README.md
T

91 lines
1.8 KiB
Markdown

# 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 (Nuxt 3 + TypeScript)**
- Vue 3 with Composition API
- TypeScript support
- Nuxt modules ecosystem
- Hot Module Replacement (HMR)
- Auto-imports for components and composables
- Server-side rendering capabilities
- File-based routing
## 📋 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/FernandoJVideira/LK_API_Temp.git
cd LK_API_Temp
```
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:3000` (default Nuxt port).
## 📚 API Documentation
The API documentation is automatically generated using Swagger. Once the server is running, you can access the Swagger UI at: `http://localhost:8080/v1/swagger/index.html#/`