Releases: karar-hayder/RecAnthology
v2.0.0
Release Notes: RecAnthology v2.0.0
Release v2.0.0 - August 4, 2024
Introduction
We are excited to announce the second major release of RecAnthology. This version introduces a range of new features, improvements, and bug fixes to enhance your experience with personalized recommendations for books and TV media
New Features
- Custom User Model: Implemented a custom user model CustomUser with email as the primary identifier.
- TV Media Support: Users can now rate TV media and get personalized recommendations.
- Genre Preferences: Users can have genre preferences for both books and TV media.
- Rating System Enhancements: Introduced a detailed rating system for books and TV media with validations.
- Cache Invalidation: Added logic to invalidate cache for user genre preferences upon rating updates.
- Signal Handlers: Implemented signal handlers to update genre preferences when user ratings are saved.
Improvements
- Database Schema: Refined database schema for handling user ratings and genre preferences.
- Validation: Enhanced validation logic for user ratings to ensure ratings are within a valid range.
- Error Handling: Improved error handling in test cases to catch and manage validation errors.
Bug Fixes
- Case Sensitivity: Resolved case sensitivity issues in database table names.
- Unique Constraints: Fixed unique constraint violations for user ratings to prevent duplicate entries.
- Test Cases: Corrected and improved test cases for better coverage and reliability.
Testing
- Unit Tests: Added comprehensive unit tests for user ratings and genre preference updates.
- Simultaneous Ratings: Ensured that multiple ratings do not create duplicate genre preferences.
- Invalid Ratings: Verified that invalid ratings are properly handled and raise appropriate validation errors.
- User Deletion: Ensured related ratings are correctly deleted when a user is removed.
Database Migrations
- Migrations: Updated database migrations to reflect changes in the schema, including new models and fields.
Miscellaneous
- Code Cleanup: General code cleanup and refactoring for improved readability and maintainability.
- Documentation: Updated documentation to reflect new features and changes.
Installation & Upgrade
To upgrade to the latest version, please follow these steps
-
Backup Database: Ensure you have a current backup of your database.
-
Update Code: Pull the latest changes from the repository.
git pull origin main Apply Migrations: Run the database migrations to update your schema.
python manage.py makemigrations python manage.py migrate
-
Test Application: Run the test suite to ensure everything is working correctly.
python manage.py test
Known Issues
- Limited Genre Filtering: The genre filtering in the search functionality is basic and will be enhanced in future releases.
- Initial Data Load: Some users may experience a delay when loading initial data for the first time.
Future Plans
- Expanded Recommendations: Incorporate additional content types like movies and music.
- User Profiles: Improved user profile management and preference tracking.
- Collaborative Recommendations: Incorporate recommendations based on preferences from similar users.
Contact and Feedback
We welcome your feedback and suggestions. For any questions or to report issues, please reach out to me through LinkedIn: Karar Haider
For more information, visit our GitHub repository
We hope you enjoy using RecAnthology and look forward to your support and contributions
Full Changelog: v1.0.0...v2.0.0
Initial release
Release v1.0.0 - July 23, 2024
Introduction
Welcome to the first release of RecAnthology, an application designed to provide personalized recommendations for books based on user preferences. This initial version includes core features for managing genres, books, and user ratings, as well as a recommendation engine to suggest books tailored to individual tastes.
Features
- Genre Management: Add, view, and manage genres. Easily organize books by genre.
- Book Management: Create, view, and update book information. Link books to multiple genres.
- User Ratings: Rate books on a scale from 1 to 5, indicating your level of enjoyment or dislike.
- Public Book Recommendations: Get book recommendations based on genre preferences submitted through the public recommendation endpoint.
- Private Book Recommendations: Personalized book suggestions based on your user ratings and preferences.
Initial Setup
To get started with RecAnthology, follow these steps:
- Clone the Repository:
git clone https://github.com/karar-hayder/RecAnthology.git
- Install Dependencies:
pip install -r requirements.txt
- Run Migrations:
python manage.py migrate
- Start the Server:
python manage.py runserver
- Access the API: Explore the available endpoints in the README.
Known Issues
- Limited Genre Filtering: The genre filtering in the search functionality is basic and will be enhanced in future releases.
- Initial Data Load: Some users may experience a delay when loading initial data for the first time.
Future Plans
- Expanded Recommendations: Incorporate additional content types like movies and music.
- User Profiles: Improved user profile management and preference tracking.
- Collaborative recommendation: Incorporate a recommendation based on many similar users preferences.
Acknowledgments
Thank you to everyone who contributed to this release. Special thanks to our early testers and contributors for their valuable feedback.
Contact and Feedback
We welcome your feedback and suggestions. For any questions or to report issues, please reach out to me through LinkedIn: Karar Haider
For more information, visit our GitHub repository.
I hope you enjoy using RecAnthology and look forward to your continued support and contributions!
Full Changelog: https://github.com/karar-hayder/RecAnthology/commits/v1.0.0