Skip to content

Operation Won is an application designed for easy communication. It allows your mobile phone to act as a radio, allowing you to verbally communicate with multiple people at once. Operation Won supports earbuds as well as push-to-talk via the use of earbuds, allowing for fluent and efficient communication

Notifications You must be signed in to change notification settings

Infinity6542/Operation-Won

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Aug 31, 2025
6707f37ย ยทย ยท Aug 31, 2025

History

194 Commits
Aug 9, 2025
Aug 31, 2025
Aug 9, 2025
Aug 9, 2025
Aug 9, 2025

Repository files navigation

๐Ÿš€ Operation Won

A modern real-time communication platform featuring secure authentication, event management, and instant messaging capabilities.

Operation Won is a full-stack application consisting of a Go backend server, Flutter mobile client, and web interface, designed for seamless real-time communication and event coordination.

๐ŸŒŸ Features

๐Ÿ” Authentication & Securityrity

  • JWT-based authentication with refresh tokens
  • Secure password hashing with bcrypt
  • Rate limiting and brute force protection
  • Redis-based session management

๐Ÿ“ก Real-Time Communication

  • WebSocket support for instant messaging
  • Live audio streaming capabilities
  • Push-to-talk (PTT) functionality
  • [SOON] E2EE

๐ŸŽ‰ Event Management

  • Create and manage events
  • Event-based channel organization
  • User role management (organiser, member)
  • Event discovery and participation

๐Ÿ’ฌ Channel System

  • Multi-channel communication
  • Event-specific channels
  • User permissions and moderation
  • Message history and persistence

๐Ÿ—๏ธ Infrastructure

  • Containerized deployment with Docker/Podman
  • MySQL database with proper indexing
  • Redis caching for performance
  • Health monitoring and logging
  • Auto-scaling ready architecture

๐Ÿ“ฆ Architecture

Operation Won/
โ”œโ”€โ”€ ๐ŸŽฎ client/          # Flutter mobile application
โ”œโ”€โ”€ ๐ŸŒ website/         # Web interface and landing page
โ”œโ”€โ”€ โš™๏ธ  server/          # Go backend API server
โ”‚   โ”œโ”€โ”€ main.go         # Application entry point
โ”‚   โ”œโ”€โ”€ handlers.go     # HTTP request handlers
โ”‚   โ”œโ”€โ”€ hub.go         # WebSocket management
โ”‚   โ”œโ”€โ”€ utils.go       # Utility functions
โ”‚   โ””โ”€โ”€ all_test.go    # Comprehensive test suite
t suite

๐Ÿ”ง Tech Stack

Component Technology Purpose
Backend Go 1.23+ High-performance API server
Database MySQL 8.0+ Primary data storage
Cache Redis 7.0+ Session & performance cacheache
Mobile Flutter 3.0+ Cross-platform mobile app
Web HTML5/CSS3/JS Progressive web interface
Containers Docker/Podman Deployment & orchestrationtion
WebSockets Gorilla WebSocket Real-time communication
Auth JWT + bcrypt Secure authentication

๐Ÿš€ Quick Start

Prerequisites

  • Container Engine: Podman (recommended) or Docker
  • System Requirements: 2GB RAM, 1GB disk space
  • Network: Ports 8000, 3306, 6379 available

1. Clone the Repository

git clone https://github.com/Infinity6542/Operation-Won.git

cd Operation-Won

2. Deploy the Server

cd server
podman compose up --build -dd

3. Access the Application

Service URL Description
API Server http://localhost:8000 Backend API endpoints
Health Check http://localhost:8000/health Service status
WebSocket ws://localhost:8000/msg Real-time messaging

๐Ÿ“ฑ Client Applications

๐ŸŽฎ Flutter Mobile App

cd client
flutter pub get
flutter runun

Features:

  • Cross-platform (iOS & Android)oid)
  • Real-time messaging
  • Push notifications
  • Offline capability
  • Material Design UI

๐Ÿ”ง Development

๐Ÿงช Testing

The project includes a comprehensive test suite with 30+ test cases:

cd server
go  test -v

Test Coverage:

  • โœ… Authentication (registration, login, JWT)
  • โœ… Authorization & security middlewareware
  • โœ… Channel management (CRUD operations)
  • โœ… Event management (CRUD operations)
  • โœ… Database error handling
  • โœ… Input validation and edge cases

๐Ÿ“Š API Documentation

Authentication Endpoints

POST /auth/register    # User registration
POST /auth/login        # User authentication
POST /api/refresh       # JWT token refresh
POST /api/logout        # User logout

Protected Endpoints (require JWT)

GET  /api/protected/channels        # List user channels
POST /api/protected/channels/create  # Create new channel
GET  /api/protected/events           # List user events  
POST /api/protected/events/create    # Create new event

Real-Time & Utilitylity

GET /msg        # WebSocket connection
GET /health      # Service health check

๐Ÿ—„๏ธ Database Schema

The application uses a relational database with the following key tables:

  • users - User accounts and authentication
  • events - Event information and metadata
  • channels - Communication channels
  • event_members - Event participation tracking
  • channel_members - Channel access control
  • messages - Chat message history

About

Operation Won is an application designed for easy communication. It allows your mobile phone to act as a radio, allowing you to verbally communicate with multiple people at once. Operation Won supports earbuds as well as push-to-talk via the use of earbuds, allowing for fluent and efficient communication

Resources

Stars

Watchers

Forks

Packages

No packages published