Vibemeter is a conversational bot platform designed for employee engagement analysis and feedback management. This FastAPI-based backend provides real-time interaction capabilities, comprehensive data analysis, and reporting features to help organizations better understand and improve employee satisfaction and engagement.
- Conversational Interface: Real-time chat interactions via WebSockets
- Sentiment Analysis: ML-powered analysis of employee feedback
- Report Generation: Automated generation of insights and trends
- REST API: Comprehensive endpoints for data access and management
- Scalable Architecture: Docker-ready deployment with configurable environments
vibemeter-backend-2025/
├── app/ # Main application package
│ ├── __init__.py
│ ├── config.py # Configuration settings
│ ├── main.py # Application entry point
│ ├── socket.py # WebSocket implementation
│ ├── api/ # API package
│ │ ├── __init__.py
│ │ └── endpoints/ # REST API endpoints
│ ├── data/ # Data storage and management
│ ├── ml/ # Machine learning modules
│ ├── models/ # Data models
│ └── utils/ # Utility functions
├── .env # Environment variables
├── .gitignore # Git ignore patterns
├── docker-compose.yml # Docker compose configuration
├── Dockerfile # Docker container definition
├── Makefile # Make commands for common tasks
├── pyproject.toml # Project metadata and dependencies
├── README.md # Project documentation
├── report-gen-fresh.py # Report generation script
├── reportgen.py # Report generation module
└── requirements.txt # Python dependencies
- Python 3.8 or later
- pip (Python package manager)
- Docker and Docker Compose (for containerized deployment)
There are two ways to set up and run the Vibemeter backend:
- Clone the repository:
git clone https://github.com/your-organization/vibemeter-backend-2025.git
cd vibemeter-backend-2025
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
cp .env.example .env
# Edit .env file with your configuration
- Start the development server:
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
- Clone the repository:
git clone https://github.com/your-organization/vibemeter-backend-2025.git
cd vibemeter-backend-2025
- Set up environment variables:
cp .env.example .env
# Edit .env file with your configuration
- Build and run with Docker Compose:
# Build and start the containers
docker-compose up --build
# Or run in background
docker-compose up -d
- Alternatively, you can use the provided Makefile:
# Build and start the application
make build
make run
Once the application is running, access the automatically generated API documentation:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
The application provides WebSocket connections for real-time communication. Connect to:
ws://localhost:8000/ws/chat
Generate employee engagement reports using:
python reportgen.py [options]
Key configuration options in .env
:
DATABASE_URL
: Database connection stringAPI_KEY
: API authentication keyDEBUG
: Enable/disable debug modeMODEL_PATH
: Path to ML models
Place new endpoints in app/api/endpoints/
directory following the FastAPI router pattern.
Machine learning models are stored in the app/ml/
directory. Update models by:
- Placing new model files in appropriate subdirectories
- Updating configuration in
app/config.py
The application can be deployed using:
docker build -t vibemeter-backend .
docker run -p 8000:8000 vibemeter-backend
The project includes GitHub Actions workflows in .github/workflows/
:
ci.yml
: Runs tests and linting on pull requestsdeploy.yml
: Handles deployment to production environments
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Commit changes:
git commit -m 'Add feature'
- Push to branch:
git push origin feature-name
- Submit a pull request
For questions and support, please open an issue or contact the development team.