AI Meeting Assistant
An intelligent meeting assistant designed to streamline your workflow by transcribing, summarizing, and managing action items from your meetings. This full-stack application leverages a Python Flask backend for robust API services and a React frontend for a dynamic user experience.
Key Features
- User Authentication: Secure login and registration system with role-based access control (Admin, User).
- Meeting Management: Create, view, and manage meetings. Upload transcripts or generate them from audio.
- AI-Powered Summary: Automatically generate concise summaries from lengthy meeting transcripts.
- Action Item Tracking: Automatically preview and batch-create action items from summaries. Manually add, edit, and delete action items with assigned owners and due dates.
- Permission Control: Granular permissions for editing and deleting meetings and action items based on user roles (Admin, Meeting Owner, Action Item Owner).
- File Processing Tools: Independent tools for audio extraction, transcription, and text translation.
Tech Stack
Backend:
- Framework: Flask
- Database: SQLAlchemy with Flask-Migrate for schema migrations.
- Authentication: Flask-JWT-Extended for token-based security.
- Async Tasks: Celery with Redis/RabbitMQ for handling long-running AI tasks.
- API: RESTful API design.
Frontend:
- Framework: React.js
- UI Library: Material-UI (MUI)
- Tooling: Vite
- API Communication: Axios
Prerequisites
- Python 3.10+
- Node.js 20.x+
- A message broker for Celery (e.g., Redis or RabbitMQ)
Installation & Setup
1. Backend Setup
Clone the repository:
git clone <your-repository-url>
cd AI_meeting_assistant_-_V2.1
Create a virtual environment and install dependencies:
# For Windows
python -m venv venv
venv\Scripts\activate
# For macOS/Linux
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Create a .env
file by copying .env.example
(if provided) or creating a new one. Configure the following:
FLASK_APP=app.py
SECRET_KEY=your_super_secret_key
SQLALCHEMY_DATABASE_URI=sqlite:///meetings.db # Or your preferred database connection string
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=redis://localhost:6379/0
Initialize and apply database migrations:
flask db init # Only if you don't have a 'migrations' folder
flask db migrate -m "Initial migration"
flask db upgrade
2. Frontend Setup
Navigate to the frontend directory and install dependencies:
cd frontend
npm install
Running the Application
The application requires three separate processes to be running: the Flask server, the Celery worker, and the Vite frontend server.
1. Start the Flask Backend Server:
# From the project root directory
flask run
The API server will be running on http://127.0.0.1:5000
.
2. Start the Celery Worker: Open a new terminal, activate the virtual environment, and run:
# From the project root directory
celery -A celery_worker.celery worker --loglevel=info
3. Start the React Frontend Server: Open a third terminal and run:
# From the 'frontend' directory
npm run dev
The frontend application will be available at http://localhost:5173
. Open this URL in your browser.