Added
- **Database Integration**:
Integrated **SQLAlchemy ORM** to manage interactions with the Heroku PostgreSQL database (`labmateai-db`), enhancing data handling and scalability.
- **Alembic Migrations**:
Implemented **Alembic** for seamless database schema migrations, ensuring consistent database structures across different environments.
- **Enhanced CLI Functionality**:
Updated the **Command-Line Interface (CLI)** to automatically prompt users to rate recommended tools immediately after receiving recommendations, improving user engagement and feedback collection.
- **Automated Interaction Logging**:
Configured the CLI to automatically log all interaction data (`interaction_id`, `user_id`, `tool_id`, `rating`, `usage_frequency`, `timestamp`) into the `interactions` table, ensuring comprehensive tracking of user interactions.
- **Continuous Integration (CI) Enhancements**:
Updated `.travis.yml` to include **PostgreSQL** service, run migrations before tests, and handle secure environment variables, thereby streamlining the CI pipeline.
- **Improved Testing Setup**:
Enhanced the test suite to include database integration tests, ensuring that all interactions are properly logged and that the system behaves as expected under various scenarios.
- **Deployment Enhancements**:
Improved deployment configurations for secure and reliable **PyPI** deployments, facilitating smoother releases and updates.
- **Documentation Updates**:
Updated `README.md` and other documentation files to reflect the latest changes, providing clear setup and usage instructions for users and contributors.
Changed
- **Project Structure Refactoring**:
Refactored project directories to support ORM models, migrations, and improved code organization, enhancing maintainability and scalability.
- **CLI Workflow Modification**:
Modified the CLI workflow to remove the separate rating option and integrate rating prompts directly after recommendations, resulting in a more intuitive user experience.
- **Configuration Management Enhancements**:
Enhanced configuration files (`alembic.ini`, `.travis.yml`, `.env`) to support secure and efficient CI/CD pipelines, ensuring better security and performance.
Fixed
- **Naming Conflicts Resolved**:
Resolved naming conflicts between the ORM `ToolModel` and custom `Tool` classes by using aliases (`ToolModel` for ORM and `CustomTool` for the custom class), preventing import and reference issues.
- **Import Errors Fixed**:
Fixed `ModuleNotFoundError` issues by adjusting import statements and ensuring proper package structure, ensuring that all modules are correctly accessible.
- **Test Failures Addressed**:
Fixed failing tests caused by package renaming and import errors, ensuring that all tests pass successfully and maintain high code quality standards.
---