Skip to content

Mostafa-SAID7/fullycommunity

Repository files navigation

🌐 Fully Community Platform

A Modern Full-Stack Community Platform with AI-Powered Features

Getting StartedDocumentationContributingSecurity

🔄 CI/CD Status

Backend CI Frontend CI Mobile CI AI Agent CI

🛠️ Tech Stack

License: MIT .NET Angular Flutter Python


✨ Features

🔐 Authentication & Security

Secure JWT-based authentication with ASP.NET Identity, featuring token rotation, account lockout protection, and email confirmation.

🤖 AI-Powered Assistant

HuggingFace-powered community assistant providing intelligent responses and automated support.

🐳 Cloud-Native Architecture

Fully containerized with Docker and Kubernetes support for seamless deployment and scaling.

👤 User Profiles

Complete profile management system across all platforms with real-time synchronization.

📱 Cross-Platform Experience

Native experiences on Web (Angular 19) and Mobile (Flutter for iOS/Android).

🚀 Modern CI/CD Pipeline

Automated testing, building, and deployment with GitHub Actions for all components.


🏗️ Architecture

┌─────────────────────────────────────────────────────────────────┐
│                        Client Layer                              │
├──────────────────┬──────────────────┬───────────────────────────┤
│   🌐 Angular 19   │   📱 Flutter     │      🔌 External APIs     │
│   (ClientApp/)   │   (Mobile/)      │                           │
└────────┬─────────┴────────┬─────────┴─────────────┬─────────────┘
         │                  │                       │
         └──────────────────┼───────────────────────┘
                            │
                    ┌───────▼───────┐
                    │   🔀 API GW    │
                    │   (nginx)     │
                    └───────┬───────┘
                            │
         ┌──────────────────┼──────────────────┐
         │                  │                  │
   ┌─────▼─────┐     ┌──────▼──────┐    ┌─────▼─────┐
   │ 🔷 .NET 9  │     │  🐍 Python   │    │ 📡 SignalR │
   │   API     │     │  AI Agent   │    │   Hub     │
   │  (src/)   │     │ (AiAgent/)  │    │           │
   └─────┬─────┘     └──────┬──────┘    └───────────┘
         │                  │
         └────────┬─────────┘
                  │
           ┌──────▼──────┐
           │  🗄️ Database │
           │  SQL Server │
           └─────────────┘

📁 Project Structure

fullycommunity/
├── 📂 ClientApp/              # Angular 19 Frontend
│   └── src/
│       ├── app/
│       │   ├── core/          # Guards, interceptors, services
│       │   ├── features/      # Feature modules (auth, profile)
│       │   └── shared/        # Shared components
│       └── environments/
│
├── 📂 src/                    # ASP.NET Core 9 Backend
│   ├── CommunityCar.API/      # Web API layer
│   ├── CommunityCar.Application/  # Business logic
│   ├── CommunityCar.Domain/   # Entities & interfaces
│   ├── CommunityCar.Infrastructure/  # Data access
│   └── CommunityCar.Tests/    # Unit & integration tests
│
├── 📂 AiAgent/                # Python AI Service
│   ├── agents/                # AI assistants
│   ├── routers/               # FastAPI routes
│   ├── services/              # Business services
│   └── tests/                 # Pytest tests
│
├── 📂 Mobile/                 # Flutter Mobile App
│   └── lib/
│       ├── config/            # Router, theme
│       ├── models/            # Data models
│       ├── providers/         # State management
│       ├── screens/           # UI screens
│       └── services/          # API services
│
├── 📂 .devops/                # DevOps Configurations
│   ├── k8s/                   # Kubernetes manifests
│   ├── Dockerfile.*           # Docker images
│   └── docker-compose.yml
│
├── 📂 .github/                # GitHub Configurations
│   └── workflows/
│       ├── backend/           # .NET CI/CD
│       ├── frontend/          # Angular CI/CD
│       ├── mobile/            # Flutter CI/CD
│       ├── ai-agent/          # Python CI/CD
│       ├── infrastructure/    # Docker, Terraform
│       └── shared/            # CodeQL, Release, PR automation
│
└── 📂 docs/                   # Documentation

🚀 Getting Started

Important

Before you begin, ensure you have the required tools installed. The platform consists of multiple components that can be run independently or together using Docker.

Prerequisites

🛠️ Tool 📦 Version ⬇️ Download 📝 Purpose
Node.js 20+ nodejs.org Frontend development
.NET SDK 9.0 dotnet.microsoft.com Backend API
Python 3.11+ python.org AI Agent service
Flutter 3.24+ flutter.dev Mobile application
Docker Latest docker.com Containerization

Tip

Quick Setup: If you have Docker installed, you can skip individual tool installations and run everything with docker-compose up -d! | .NET SDK | 9.0 | dotnet.microsoft.com | | Python | 3.11+ | python.org | | Flutter | 3.24+ | flutter.dev | | Docker | Latest | docker.com |

Quick Start

🔷 Backend (.NET)
cd src
dotnet restore
dotnet run --project CommunityCar.API

Endpoints:

  • 🌐 API: http://localhost:5000
  • 📚 Swagger: http://localhost:5000/swagger
🧪 Run Tests
cd src
dotnet test --verbosity normal

[!TIP] Use --collect:"XPlat Code Coverage" to generate coverage reports.

🌐 Frontend (Angular)
cd ClientApp
npm install
ng serve

Access: http://localhost:4200

🤖 AI Agent (Python)
cd AiAgent
python -m venv venv

# Activate virtual environment
source venv/bin/activate  # Linux/Mac
# OR
venv\Scripts\activate     # Windows

pip install -r requirements.txt
uvicorn main:app --reload

Endpoints:

  • 🌐 API: http://localhost:8000
  • 📚 Docs: http://localhost:8000/docs
📱 Mobile (Flutter)
cd Mobile
flutter pub get
flutter run

[!NOTE] Ensure you have an emulator running or a physical device connected.

🐳 Docker (All Services)
cd .devops
docker-compose up -d

[!TIP] This is the easiest way to run all services together. Perfect for testing the complete platform!


📖 Documentation

REST API Endpoints

Complete API documentation with request/response examples

🏗️ Architecture

System Design

Detailed architecture diagrams and design decisions

Development Setup

Step-by-step development environment setup

Contribution Guidelines

How to contribute to the project

Security Policy

Security practices and vulnerability reporting

| [Contributing](CONTRIBUTING.md) | Contribution guidelines | | [Security](SECURITY.md) | Security policy |

🤝 Contributing

We welcome contributions from developers of all skill levels! 🎉

Whether you're fixing bugs, adding features, or improving documentation, your contributions make this project better for everyone.

Quick Contribution Guide

# 1️⃣ Fork & clone the repo
git clone https://github.com/YOUR_USERNAME/fullycommunity.git
cd fullycommunity

# 2️⃣ Create a feature branch
git checkout -b feature/amazing-feature

# 3️⃣ Make your changes & commit (follow conventional commits)
git commit -m "feat: add amazing feature"

# 4️⃣ Push & create a PR
git push origin feature/amazing-feature

Note

Please read our Contributing Guide for detailed guidelines on code style, commit messages, and the PR process.


🔒 Security

Caution

Found a security vulnerability? Please DO NOT open a public issue.

Report security issues privately:

  • 📧 Email: security@fullycommunity.com
  • 📋 See our Security Policy for detailed reporting guidelines

We take security seriously and will respond promptly to all reports.


📄 License

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


💖 Support the Project

Star us on GitHub

It motivates us a lot!

🐛 Report Issues

Help us improve!

🤝 Contribute

Join our community!


Made with ❤️ by the Fully Community Team

© 2025 Community Car Platform. All rights reserved.