Xun (寻, "search" in Chinese) is a meeting processing platform that automatically extracts the most valuable information from your recordings. The name reflects the essence of the project: helping you find and rescue key points, tasks, and important conclusions from each meeting.
Xun allows you to:
- ✅ Automatically extract tasks assigned during the meeting
- 📅 Identify important events and dates for your calendar
- 📝 Generate concise summaries of the topics discussed
- 📋 Fully document the content of the meeting
- 👥 Manage user profiles to personalize the experience
XUN is built with a microservices architecture, where each component fulfills a specific function:
- 🚪 Gate: Authentication and user management service
- 🔄 Sync: File upload service and queue publisher
- 💓 Pulse: Worker that consumes messages from the queue and processes meetings
- 🧠 Core: Main data API to retrieve processed information
- 📡 Signal: Status API to monitor processing progress
- 🖥️ Web: Frontend interface built with Next.js
- PostgreSQL: Relational database for persistent storage
- RabbitMQ: Messaging system for communication between services
- Redis: Cache storage (reserved for future implementations)
- Docker: Containerization for easy deployment and integration
xun/
├── gate/ # Authentication service
├── sync/ # Upload and publishing service
├── pulse/ # Processing service
├── core/ # Data API
├── signal/ # Status API
├── web/ # User interface
├── postgres/ # Database configuration
├── rabbitmq/ # Messaging configuration
├── docker-compose.yml # Container configuration
└── README.md # This file
-
Clone this repository:
git clone https://github.com/[your-username]/xun.git cd xun -
Create a
.envfile in the project root with the following variables:POSTGRES_USER=postgres POSTGRES_PASSWORD=your_password POSTGRES_DB=xun DATABASE_URL=postgresql://postgres:your_password@postgres:5432/xun RABBITMQ_URL=amqp://guest:guest@rabbitmq:5672/ RABBITMQ_QUEUE=meeting_processing JWT_SECRET_KEY=your_secret_key JWT_ALGORITHM=HS256 JWT_ACCESS_TOKEN_EXPIRE_MINUTES=60 UPLOAD_FOLDER=/uploads
-
Start the services with Docker Compose:
docker-compose up --build
-
Access the web application:
- Web interface: http://localhost:3000
- API Gateway: http://localhost:8000
| Service | Port | Description |
|---|---|---|
| Web | 3000 | User interface |
| Gate | 8000 | User authentication |
| Sync | 8001 | File uploads |
| Core | 8002 | Data API |
| Signal | 8003 | Status API |
| PostgreSQL | 5432 | Database |
| RabbitMQ | 5672 | Messaging |
| RabbitMQ UI | 15672 | RabbitMQ management interface |
- Registration/Login: Users authenticate through the Gate service
- Meeting upload: Audio/video files are uploaded through the Sync service
- Processing: The Pulse service processes the files and extracts information
- Visualization: Results are displayed through the web interface and can be queried through the Core and Signal APIs
Contributions are welcome. To contribute:
- Fork the repository
- Create a branch for your feature (
git checkout -b feature/new-feature) - Make your changes and commit them (
git commit -m 'Add new feature') - Push your changes (
git push origin feature/new-feature) - Open a Pull Request
This project uses a Proprietary License. The source code is shared publicly on GitHub for transparency and security auditing purposes, but all rights are reserved.
Restrictions:
- Commercial use of the software without express authorization is not allowed
- Redistribution or modification of the code for commercial purposes is not allowed
- Only the original owner has the rights to commercialize this software
This software is provided "as is," without any warranties of any kind. The owner assumes no responsibility for damages resulting from the use of this software.
For information about commercial licenses, contact the XUN team.
XUN Team - support@example.com