A robust blog platform rest API written in Go, featuring a clean architecture with comprehensive user management, authentication, and content handling capabilities.
-
Authentication System
- JWT-based authentication
- Redis for session management
- Secure password hashing
-
User Management
- User registration and login
- Email verification system
- Welcome email functionality
- User Profile Managements:Delete,Upload,Get
-
Article Management
- CRUD operations for blog posts
- Search functionality
- PostgreSQL for data persistence
- Likes and Bookmarks by current user
-
Comment Management
- Commenting system for blog articles
-
Category Management
- Categories for each article
-
Infrastructure
- PostgreSQL database
- Redis cache
- MinIO Object Storage
- Email service integration
- Structured logging with Zap
- Go 1.19+
- PostgreSQL
- Redis
- MinIO
- Make (optional)
git clone https://github.com/personal-pulpit/blog-core.git
cd blog-core
go mod download
go run main.go
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m "Add amazing feature"
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Complete User Service tests
- Refactor Swagger Docs
- Recommendation Articles system
- Include Data for articles
- Follow Go best practices and idioms
- Write tests for new features
- Update documentation when adding features
- Use meaningful commit messages
- Follow the existing code structure
For more information or questions, please open an issue in the repository.