Skip to content
/ GONews Public

๐Ÿ“ฐ High-performance, Speed blog/news API built with Go, Gin, Redis, PostgreSQL, and OpenTelemetry โ€” optimized for speed, observability, and scalability.

License

Notifications You must be signed in to change notification settings

Madraka/GONews

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

23 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ฐ GONews - Open Source News API

A modern, production-ready RESTful API for managing news articles with advanced features

Version Go Version License Open Source GitHub Stars GitHub Forks

๐ŸŒŸ What's New - Now Open Source!

GONews has been migrated to open source! ๐ŸŽ‰ We welcome contributions from the community. โ†’ Learn about the migration

GitHub Repository

โœจ Key Features

๐Ÿš€ Core Capabilities

  • ๐Ÿ“ Article Management - Full CRUD operations with versioning
  • ๐Ÿ‘ฅ User System - Authentication, roles, and profiles
  • ๐Ÿ” Smart Search - AI-powered semantic search with OpenAI
  • ๐Ÿ“ฑ Real-time - WebSocket support for live updates
  • ๐ŸŒ Multi-language - English, Spanish, Turkish support
  • ๐Ÿ“Š Analytics - Comprehensive metrics and tracking

๐ŸŽฏ Modern Features

  • ๐Ÿšจ Breaking News - Priority alerts and notifications
  • ๏ฟฝ Stories System - Ephemeral content like Instagram stories
  • ๐ŸŽฅ Video Support - Embedded video content and processing
  • ๐Ÿ”ด Live Streams - Real-time event coverage
  • ๐Ÿ“ฑ Mobile-First - Optimized for mobile applications

๐Ÿ”’ Enterprise-Ready

  • ๐Ÿ›ก๏ธ Security - JWT authentication, role-based access
  • โšก Performance - Redis caching, HTTP/2 support
  • ๐Ÿ“Š Observability - Prometheus metrics, Grafana dashboards
  • ๏ฟฝ DevOps - Docker, Kubernetes, CI/CD ready

๐Ÿš€ Quick Start

Prerequisites

  • Go 1.24+
  • PostgreSQL 15+
  • Redis 7+
  • Docker (optional)

Get Running in 2 Minutes

# 1. Clone the repository
git clone https://github.com/Madraka/GONews.git
cd GONews

# 2. Start services with Docker
make dev-up

# 3. Run the API
make dev

# 4. Visit API documentation
open http://localhost:8081/swagger/index.html

Manual Setup

# 1. Install dependencies
go mod download

# 2. Configure environment
cp .env.example .env  # Edit with your settings

# 3. Start database
make db-up

# 4. Run migrations
make migrate-up

# 5. Start API server
make run

๐Ÿ“š Documentation

Resource Description
๏ฟฝ Documentation Hub Complete documentation index
๐Ÿƒ Developer Guide Setup and development workflow
๐ŸŒŸ Open Source Guide How to contribute
๐Ÿ“‹ API Reference Complete API documentation

๐Ÿ› ๏ธ Development

Environment Management

# Development environment (recommended)
make env-dev && make dev-up && make dev

# Testing environment  
make env-test && make test-all

# Production environment
make env-prod && make prod-deploy

Key Commands

make build          # Build application
make test           # Run tests
make migrate-up     # Run database migrations
make docs           # Generate API documentation
make docker-build   # Build Docker image

๐Ÿ—๏ธ Project Structure

News/
โ”œโ”€โ”€ ๏ฟฝ README.md                 # Project overview (you are here)
โ”œโ”€โ”€ ๐Ÿ“š docs/                     # Complete documentation
โ”‚   โ”œโ”€โ”€ README.md               # Documentation index
โ”‚   โ”œโ”€โ”€ DEVELOPER_GUIDE.md      # Development setup
โ”‚   โ””โ”€โ”€ api_documentation.html  # API reference
โ”œโ”€โ”€ ๐Ÿš€ cmd/                     # Application entry points
โ”œโ”€โ”€ ๐Ÿ”’ internal/                # Private application code
โ”œโ”€โ”€ ๐Ÿงช tests/                   # Comprehensive test suite
โ”œโ”€โ”€ ๐Ÿณ deployments/            # Docker & Kubernetes configs
โ”œโ”€โ”€ ๐Ÿ“Š monitoring/             # Observability setup
โ””โ”€โ”€ ๏ฟฝ๏ธ scripts/               # Build and utility scripts

โ†’ See complete project structure in docs

๐ŸŒ API Overview

Core Endpoints

  • GET /api/articles - List articles with pagination
  • POST /api/articles - Create new article (auth required)
  • GET /api/search - Semantic search with AI
  • GET /api/breaking - Breaking news alerts
  • GET /api/stories - Stories feed

Advanced Features

  • GET /api/videos - Video content management
  • GET /api/live - Live stream endpoints
  • WebSocket /ws - Real-time updates
  • GET /metrics - Prometheus metrics

โ†’ Complete API documentation

๐Ÿค Contributing

We welcome contributions! This is an open source project.

  1. Read the Contributing Guide
  2. Fork the repository
  3. Create a feature branch
  4. Submit a pull request

Areas for Contribution

  • ๏ฟฝ Bug fixes and stability improvements
  • โœจ New features and enhancements
  • ๐Ÿ“š Documentation improvements
  • ๐Ÿงช Test coverage expansion
  • ๐ŸŒ Internationalization (new languages)
  • ๐ŸŽจ UI/UX improvements for API responses

๐Ÿ“Š Status & Roadmap

โœ… Production Ready

  • Article Management System
  • User Authentication & Authorization
  • REST API with Swagger Documentation
  • Multi-language Support
  • Redis Caching & PostgreSQL

๐Ÿšง Beta Features

  • AI-Powered Semantic Search
  • Video Content Support
  • Real-time WebSocket Updates
  • HTTP/2 Implementation

๐Ÿ”ฎ Planned Features

  • GraphQL API
  • Advanced Analytics Dashboard
  • Mobile Push Notifications
  • Content Recommendation Engine
  • Advanced Search Filters

๏ฟฝ Deployment

Quick Deploy

# Development
make dev-deploy

# Production
make prod-deploy

Supported Platforms

  • ๐Ÿณ Docker - Complete containerization
  • โ˜ธ๏ธ Kubernetes - Production orchestration
  • ๐ŸŒŠ Docker Swarm - Simple clustering
  • ๐Ÿ–ฅ๏ธ Bare Metal - Traditional deployment

โ†’ Deployment guides

๐Ÿ“ˆ Monitoring

  • ๐Ÿ“Š Metrics: Prometheus + Grafana dashboards
  • ๐Ÿ” Tracing: OpenTelemetry integration
  • ๐Ÿ“ Logging: Structured logging with levels
  • โšก Performance: Built-in profiling endpoints

Access monitoring at http://localhost:3000 (Grafana)

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Built with โค๏ธ using Go and modern technologies
  • Thanks to all contributors and the open source community
  • Powered by OpenAI for semantic search capabilities

โญ Star this repository if you find it useful!

๐Ÿ› Found a bug? Report it here
๐Ÿ’ก Have an idea? Start a discussion
๐Ÿ“ง Questions? Check our documentation first

๐Ÿ”— Links

About

๐Ÿ“ฐ High-performance, Speed blog/news API built with Go, Gin, Redis, PostgreSQL, and OpenTelemetry โ€” optimized for speed, observability, and scalability.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages