A full-stack AI chat application built with ASP.NET Core and React, featuring a microservices architecture, Stripe integration, and advanced conversational capabilities.
- Conversational Branching: Edit previous messages (user or AI) to create and navigate alternative dialogue paths, preserving the original history.
- AI Model Selection: Switch between OpenAI's GPT-4o and GPT-4o mini models during a conversation.
- User Authentication: Secure user registration, login, and email verification.
- Stripe Integration: Functionality for managing user subscriptions.
- Backend: ASP.NET Core (C#), EF Core
- Frontend: React, TypeScript, React Router, React Context API
- Database: PostgreSQL
- Infrastructure & DevOps: Docker, Kubernetes, Helm, GitHub Actions
- APIs: OpenAI API, Stripe API
- Microservices: The backend is divided into independent Authentication and Core Chat services for scalability and separation of concerns.
- Design Patterns: Both backend services implement Domain-Driven Design (DDD) and Clean Architecture principles to structure business logic and ensure maintainability.
- Deployment: The application is designed to be containerized using Docker and deployed to a Kubernetes cluster managed via Helm charts. A CI/CD pipeline using GitHub Actions automates the build process.
This project showcases the practical application of modern full-stack development techniques (ASP.NET Core, React), complex architectural patterns (Microservices, DDD, Clean Architecture), and DevOps practices in building a feature-rich web application.