This is a chatbot driven by an autonomous AI agent that can search the web in real time to answer your questions.
Try the application live:
- Production Environment: https://askly.microapps.info/
- Development Environment: https://dev-askly.microapps.info/
- AI-Powered Chatbot using GitHub's AI models (GPT-4o-mini)
- Web Search Integration via Tavily API for real-time information retrieval
- Google OAuth Authentication for secure user login
- Serverless Architecture deployed on AWS Lambda
- CloudFront CDN for fast global content delivery
- PostgreSQL Database with AWS Aurora DSQL integration
- Continuous Deployment via GitHub Actions
- Infrastructure as Code using Terraform
The project uses GitHub Actions for continuous deployment:
- Main branch → Deploys to development environment
- Production branch → Deploys to production environment
Deployment includes:
- Building and testing the frontend
- Deploying frontend to S3
- Building and packaging the Lambda function
- Deploying Lambda function to AWS
- Running database migrations
- React 19 with TypeScript
- React Router for navigation
- Google OAuth for authentication
- Modern CSS with responsive design
- .NET 8 with ASP.NET Core
- AWS Lambda for serverless hosting
- Entity Framework Core with PostgreSQL
- Microsoft Agents AI framework
- JWT Authentication
- AWS Lambda - Serverless API hosting
- AWS S3 - Static website hosting
- AWS CloudFront - Content delivery network
- AWS Aurora DSQL - PostgreSQL database
- AWS Systems Manager - Secret management
- Terraform - Infrastructure as Code
- GitHub AI Models - GPT-4o-mini for chatbot logic
- Tavily API - Web search capabilities
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- .NET SDK (8.0 or higher)
- Terraform (latest version)
- AWS CLI configured with credentials
- Git
REACT_APP_API_URL=your-api-url
REACT_APP_GOOGLE_AUTH_CLIENT_ID=your-google-client-id
TavilyAPIKey=your-tavily-api-key
GitHubModelsToken=your-github-models-token
Jwt={...}
Google={...}
# Frontend tests
cd frontend
npm test
# Backend tests
cd backend/src/lambda-api
dotnet testContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is open source and available under the MIT License.
- Author: Alexandros Kavroulakis
- LinkedIn: https://www.linkedin.com/in/alexandros-kavroulakis/