fix2
This commit is contained in:
106
README.md
Normal file
106
README.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# 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:
|
||||
```bash
|
||||
git clone <your-repository-url>
|
||||
cd AI_meeting_assistant_-_V2.1
|
||||
```
|
||||
|
||||
Create a virtual environment and install dependencies:
|
||||
```bash
|
||||
# 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:
|
||||
```bash
|
||||
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:
|
||||
```bash
|
||||
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:**
|
||||
```bash
|
||||
# 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:
|
||||
```bash
|
||||
# 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:
|
||||
```bash
|
||||
# From the 'frontend' directory
|
||||
npm run dev
|
||||
```
|
||||
The frontend application will be available at `http://localhost:5173`. Open this URL in your browser.
|
Reference in New Issue
Block a user