A Modern Full-Stack Community Platform with AI-Powered Features
|
Secure JWT-based authentication with ASP.NET Identity, featuring token rotation, account lockout protection, and email confirmation. HuggingFace-powered community assistant providing intelligent responses and automated support. Fully containerized with Docker and Kubernetes support for seamless deployment and scaling. |
Complete profile management system across all platforms with real-time synchronization. Native experiences on Web (Angular 19) and Mobile (Flutter for iOS/Android). Automated testing, building, and deployment with GitHub Actions for all components. |
┌─────────────────────────────────────────────────────────────────┐
│ 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 │
└─────────────┘
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
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.
| 🛠️ 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 |
🔷 Backend (.NET)
cd src
dotnet restore
dotnet run --project CommunityCar.APIEndpoints:
- 🌐 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 serveAccess: 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 --reloadEndpoints:
- 🌐 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!
|
REST API Endpoints Complete API documentation with request/response examples |
🏗️ ArchitectureSystem Design Detailed architecture diagrams and design decisions |
⚙️ Setup GuideDevelopment Setup Step-by-step development environment setup |
|
Contribution Guidelines How to contribute to the project |
🔒 SecuritySecurity Policy Security practices and vulnerability reporting |
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.
# 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-featureNote
Please read our Contributing Guide for detailed guidelines on code style, commit messages, and the PR process.
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.
This project is licensed under the MIT License - see the LICENSE file for details.