/quotes

golang & echo framework

Primary LanguageGo

Quotes App Backend

A RESTful API service built with Go (Golang) that manages and serves quotes with user interaction capabilities.

Tech Stack

  • Language: Go (Golang)
  • Framework: Echo
  • Database: MongoDB
  • Authentication: JWT
  • Environment: dotenv
  • Logging: Logrus

Features

Authentication

  • JWT-based authentication system
  • Device-based user registration and login
  • Role-based access control (Admin/User)

Quote Management

  • Get random quotes
  • Filter quotes by categories
  • Like/Unlike quotes
  • Fetch quotes by ID
  • Admin quote creation

Category System

  • Category-based quote organization
  • Multi-language support
  • Custom category styling (background colors, gradients)
  • Category-specific image sources

User Features

  • User profile management
  • Like/Unlike quotes
  • View liked quotes history
  • Pagination support for liked quotes

Version Control

  • Version checking system
  • Minimum version enforcement
  • Optional and forced update notifications
  • Platform-specific versioning (iOS/Android)

Additional Features

  • Multi-language support (Extensible)
  • Request/Response logging
  • Comprehensive error handling
  • MongoDB aggregation queries
  • Statistics and analytics

Project Structure

├── config/
│   ├── helper.go         # Environment and configuration helpers
├── database/
│   ├── mongo.go          # MongoDB connection and operations
├── handlers/
│   ├── auth.go           # Authentication handlers
│   ├── quote.go          # Quote handlers
│   ├── user.go           # User handlers
├── main.go               # Main application file