Skip to content

tofusito/xun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

寻 XUN | Capture the essence of your meetings

Xun Logo

Proprietary License Made with FastAPI Made with Next.js Docker

🔍 What is Xun?

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

🏗️ Architecture

XUN is built with a microservices architecture, where each component fulfills a specific function:

Main Services

  • 🚪 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

Infrastructure

  • 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

🛠️ Technology Stack

Backend

Frontend

📋 Repository Structure

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

🚀 Installation and Usage

Prerequisites

Configuration

  1. Clone this repository:

    git clone https://github.com/[your-username]/xun.git
    cd xun
  2. Create a .env file 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
  3. Start the services with Docker Compose:

    docker-compose up --build
  4. Access the web application:

Services and ports

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

📋 Workflow

  1. Registration/Login: Users authenticate through the Gate service
  2. Meeting upload: Audio/video files are uploaded through the Sync service
  3. Processing: The Pulse service processes the files and extracts information
  4. Visualization: Results are displayed through the web interface and can be queried through the Core and Signal APIs

🤝 Contribution

Contributions are welcome. To contribute:

  1. Fork the repository
  2. Create a branch for your feature (git checkout -b feature/new-feature)
  3. Make your changes and commit them (git commit -m 'Add new feature')
  4. Push your changes (git push origin feature/new-feature)
  5. Open a Pull Request

📄 License

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.

📧 Contact

XUN Team - support@example.com


Built with ❤️ by the XUN team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors