Skip to content

Latest commit

 

History

History
374 lines (272 loc) · 11.3 KB

File metadata and controls

374 lines (272 loc) · 11.3 KB

Conch Cross-Platform C++

C++23

License

CMake

Platforms

CI/CD Pipeline Code Coverage

Unit Tests

Integration Tests

A production-ready, batteries-included C++ framework for building everything from games to financial apps — in minutes, not months.

🚀 Build faster. Ship sooner. Scale forever.

💡 Tagline

"From Hello World to Production in One Framework"

✨ What Is This?

Conch is a modern, enterprise-grade C++ cross-platform framework that gets you from idea to deployed application at lightning speed. Whether you're building:

  • 🎮 Games (Snake, interactive apps)
  • 💰 Trading Systems (HFT engines, stock simulators)
  • 💬 Real-Time Communication (Chat servers, meeting gateways)
  • 🌐 Network Services (TCP/UDP servers, WebSocket)
  • 📊 Data Processing (Analytics, monitoring)

Conch has you covered with a battle-tested architecture, modern tooling, and zero boilerplate.

🎯 Why Choose Conch?

Before Conch:
  • Weeks spent on project setup
  • CMake configuration hell
  • Dependency management nightmares
  • IDE incompatibilities
  • No CI/CD templates
With Conch:
  • 5-Second Setup: Clone, ./build.sh, done.
  • Any IDE: VS2022, Xcode, CLion, VSCode — all pre-configured
  • Modern Dependencies: Conan 2.x handles everything automatically
  • Production-Ready CI/CD: Jenkins, GitHub Actions, GitLab CI templates included
  • Docker Ready: Multi-stage builds, docker-compose orchestration

🤖 Built for Humans & AI Agents

Conch is designed for the future of software development: Human + AI collaboration.

The framework's modular architecture and standardized structure make it the perfect environment for rapid, AI-assisted development:

🔹 Modular by Design

Every component is self-contained and follows consistent patterns, making it easy for both humans and AI agents to:

  • Understand project structure instantly
  • Add new modules without breaking existing code
  • Integrate third-party libraries seamlessly
  • Scale from prototype to production
🔹 AI-Agent Friendly
  • Crystal-Clear Structure: Consistent naming, organization, and patterns across all modules
  • Self-Documenting Code: Modern C++23 features and clear interfaces
  • Automated Everything: Build, test, and deploy with single commands
  • Intelligent Dependency Management: Conan handles complexity automatically
🔹 Rapid Prototyping → Production

Whether you're working solo, with a team, or collaborating with AI coding assistants:

  1. Describe what you want to build
  2. Generate modular components using AI or templates
  3. Integrate into the framework with minimal boilerplate
  4. Deploy with production-ready CI/CD pipelines
🔹 From Idea to World-Class Product
  • Day 1: Prototype your idea with AI-generated components
  • Week 1: Refine and test with automated quality checks
  • Month 1: Deploy to production with enterprise-grade infrastructure
  • Beyond: Scale effortlessly with battle-tested architecture

💡 Example AI Collaboration Workflow:

Human: "I need a WebSocket server for real-time notifications"
AI Agent: Creates src/servers/notification_server/
          ├── main.cpp (WebSocket server logic)
          ├── CMakeLists.txt (Auto-integrated)
          └── tests/ (Unit tests included)

Result: Production-ready server in minutes, not days.

The future of development is collaborative, modular, and lightning-fast. Conch makes it happen.

⚡ Quick Start

Get running in 3 commands:

git clone https://github.com/ConchFeng/conch-cpp.git
cd conch-cpp
./build.sh

That's it. You now have:

  • ✅ HFT trading engine
  • ✅ RTC meeting gateway
  • ✅ Stock trading simulator
  • ✅ Multi-client chat system
  • ✅ Snake game (CLI + Qt GUI)
  • ✅ Unit tests + benchmarks

All built, all tested, all running.

📦 What's Included?

Pre-Built Applications

Category Application Technology Platforms
Games Snake Game (CLI) Terminal UI macOS, Linux
Games Snake Game (Qt) Qt6 Widgets Win, macOS, Linux
Finance Stock Trading Simulator Portfolio Mgmt Win, macOS, Linux
Network Chat Server libuv TCP Win, macOS, Linux
Network Chat Client Async I/O Win, macOS, Linux
HFT Trading Engine High-Perf Win, macOS, Linux
RTC Meeting Gateway WebRTC Ready Win, macOS, Linux
Desktop Pro Desktop App Qt6 Cross-Plat Win, macOS, Linux
Mobile iOS Native App UIKit iOS only
Mobile Android Native App JNI Android only

Note

Snake CLI requires Unix terminal APIs and is not available on Windows. Windows users can use Snake Qt instead for a graphical experience.

Foundation Libraries

  • foundation: Logging, threading, utilities
  • network: High-performance networking (libuv)
  • quant_core: Quantitative finance models
  • media_core: RTC/Meeting infrastructure
  • ui_kit: Qt6 UI components

Development Tools

Multi-IDE Support
  • Visual Studio 2022 (Windows)
  • Xcode (macOS)
  • CLion (Linux)
  • VSCode (All platforms)
CI/CD Pipelines
  • Jenkins (Declarative pipeline)
  • GitHub Actions (Matrix builds)
  • GitLab CI (Multi-stage)
Containerization
  • Dockerfile (Multi-stage production)
  • docker-compose (Service orchestration)
Documentation
  • Doxygen (API docs with diagrams)
  • Auto-generation scripts
Testing
  • GTest (Unit tests)
  • Google Benchmark (Performance)
  • Coverage reports (gcovr)

🏗️ Architecture

Clean, modular, scalable:

conch-cpp/
├── src/
│   ├── libs/              # Reusable libraries
│   ├── servers/           # Backend services
│   └── apps/              # End-user applications
├── tests/                 # Unit tests + benchmarks
├── scripts/               # Build automation
├── .github/workflows/     # CI/CD pipelines
└── docker/                # Containerization

🚀 Usage Examples

Run a Chat Server:

./run.sh chat_server
# Server listening on port 8888

Connect Chat Clients:

./run.sh chat_client
# Start typing to chat!

Trade Stocks:

./run.sh stock_trader
# $100K virtual portfolio, 8 US stocks

Play Snake:

./run.sh snake_cli      # Terminal version
./run.sh snake_qt       # Qt GUI version

🛠️ Build Your Own App

Add a new application in 3 steps:

  1. Create directory: src/apps/my_app/
  2. Add CMakeLists.txt (5 lines)
  3. Run ./build.sh

Example CMakeLists.txt:

add_executable(my_app main.cpp)
target_link_libraries(my_app
    PRIVATE foundation spdlog::spdlog)

Done. Your app is integrated into the framework.

🌟 Technology Stack

Component Technology
Language C++23
Build System CMake 3.25+
Package Manager Conan 2.x
Desktop UI Qt6
Mobile (iOS) Native (UIKit)
Mobile (Android) Native (JNI)
Logging spdlog
Networking libuv
Testing GTest
Benchmarking Google Benchmark
Documentation Doxygen
CI/CD Jenkins, GitHub Actions
Containerization Docker

📊 Production-Ready Features

Cross-Platform
  • Windows, macOS, Linux (desktop)
  • iOS, Android (mobile native)
Enterprise Build System
  • Conan 2.x dependency management
  • CMake presets for all environments
  • One-command builds
Multi-IDE Support
  • Pre-configured for 4 major IDEs
  • Just open and code
Automated Testing
  • Unit tests with GTest
  • Benchmarks with Google Benchmark
  • Coverage reports with one command
CI/CD Ready
  • GitHub Actions workflows
  • Jenkins declarative pipelines
  • GitLab CI configurations
Docker Deployment
  • Multi-stage builds (small images)
  • docker-compose orchestration
  • Production-ready containers
API Documentation
  • Doxygen auto-generation
  • Call graphs, UML diagrams
  • One-command: ./scripts/generate_docs.sh

🎓 Perfect For

Startups: Ship MVPs in days, not months ✅ Enterprises: Production-ready architecture ✅ Indie Developers: Focus on features, not plumbing ✅ Students: Learn modern C++ best practices ✅ Game Devs: Cross-platform game framework ✅ FinTech: HFT/trading infrastructure built-in

📚 Documentation

  • Quick Start Guide: See above ↑
  • API Documentation: Run ./scripts/generate_docs.sh
  • Contributing: See CONTRIBUTING.md
  • Build Scripts: See scripts/

🤝 Contributing

We love contributions! See CONTRIBUTING.md for:

  • Code style guidelines
  • Pull request process
  • Development setup
  • Testing requirements

📄 License

MIT License - Use it, modify it, ship it. See LICENSE.

🌟 Show Your Support

If you find Conch useful, give us a ⭐ on GitHub!

💬 Community

---

Built with ❤️ for the C++ community

Don't just code. Ship.