Vincent is a multi-service platform for news aggregation, AI chat, and content management, built with Azure Functions (Python), Next.js (frontend), and Cosmos DB. It features:
- Automated news aggregation from official sources (e.g., DBD)
- AI-powered chat with Azure OpenAI integration
- Admin dashboard for managing posts and triggering news fetches
- Manual and auto-fetched post support
- Full-text search, tagging, and analytics
- Modern frontend (Next.js/React)
- Automated News Fetching: Scheduled and manual fetch from DBD and other sources, with duplicate detection and tagging
- AI Chat API:
/api/chatendpoint for OpenAI-powered conversations - Posts API:
/api/postsfor listing and creating posts (manual or auto-fetched) - Admin Tools: Admin dashboard for post management, news fetch, and analytics
- Health Check:
/api/healthendpoint - Full Documentation: See
docs/for guides on setup, deployment, and features
- Clone the repo
- Backend setup:
cd src/apipython -m venv .venv && source .venv/bin/activatepip install -r requirements.txt- Configure
local.settings.json(see docs/AUTOMATED_NEWS_SETUP.md) func start(API athttp://localhost:7071/api/)
- Frontend setup:
cd src/webnpm install && npm run dev(Frontend athttp://localhost:3000/)
- Docs: See
docs/for full guides
Deploy to Azure with Azure Developer CLI:
azd up- Backend: Azure Functions (Python 3.9+), Cosmos DB
- Frontend: Next.js (React, TypeScript)
- AI: Azure OpenAI (Foundry)
- Infra as Code: Bicep, Azure CLI
See docs/ for:
- Documentation Index: docs/INDEX.md
- Automated News Setup: docs/AUTOMATED_NEWS_SETUP.md
- Testing Guide: docs/TESTING.md
- Feature guides: CRUD, search, migration, performance, and more
- Configure Azure AI/OpenAI connection
- Set up automated news fetching (docs/AUTOMATED_NEWS_SETUP.md)
- Run the frontend and admin dashboard
- Explore all features in the docs/ folder
- Add new features or integrations as needed