{"id":31805704,"url":"https://github.com/1ayanabil1/ieeemdb_system_design","last_synced_at":"2026-02-16T04:03:12.105Z","repository":{"id":314868985,"uuid":"1055925429","full_name":"1AyaNabil1/IEEEMDB_System_Design","owner":"1AyaNabil1","description":"A smart online platform that helps movie lovers discover films","archived":false,"fork":false,"pushed_at":"2025-09-20T22:18:35.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-11T02:59:03.245Z","etag":null,"topics":["api-design","code-refactoring","competitive-programming","erdiagram","system-design"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/1AyaNabil1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-13T03:55:22.000Z","updated_at":"2025-09-20T22:18:38.000Z","dependencies_parsed_at":"2025-09-15T10:31:22.533Z","dependency_job_id":"04adddff-a9ab-4371-a727-d976cd5bb0fe","html_url":"https://github.com/1AyaNabil1/IEEEMDB_System_Design","commit_stats":null,"previous_names":["1ayanabil1/code_refine_ieee_competition","1ayanabil1/ieeemdb_system_design"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/1AyaNabil1/IEEEMDB_System_Design","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1AyaNabil1%2FIEEEMDB_System_Design","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1AyaNabil1%2FIEEEMDB_System_Design/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1AyaNabil1%2FIEEEMDB_System_Design/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1AyaNabil1%2FIEEEMDB_System_Design/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1AyaNabil1","download_url":"https://codeload.github.com/1AyaNabil1/IEEEMDB_System_Design/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1AyaNabil1%2FIEEEMDB_System_Design/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29499809,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T03:57:51.541Z","status":"ssl_error","status_checked_at":"2026-02-16T03:55:59.854Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-design","code-refactoring","competitive-programming","erdiagram","system-design"],"created_at":"2025-10-11T02:57:27.332Z","updated_at":"2026-02-16T04:03:12.079Z","avatar_url":"https://github.com/1AyaNabil1.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# IEEEMDB - IEEE Movie Database Platform\n\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n## Project Overview\n\n**IEEEMDB** (IEEE Movie Database) is a comprehensive online platform designed for movie enthusiasts. It combines the functionality of a personal movie diary with social networking features, creating an intelligent system that helps users discover movies, track viewing history, and connect with fellow movie lovers.\n\n---\n\n## System Architecture\n\n### High-Level Architecture\n\n```\n┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐\n│   Web Client    │    │  Mobile Client  │    │   Admin Panel   │\n└─────────┬───────┘    └─────────┬───────┘    └─────────┬───────┘\n          │                      │                      │\n          └──────────────────────┼──────────────────────┘\n                                 │\n                    ┌────────────┴───────────┐\n                    │       API Gateway      │\n                    └─────────────┬──────────┘\n                                  │\n                    ┌─────────────┴──────────┐\n                    │   Application Server   │\n                    └────────────┬───────────┘\n                                 │\n                ┌────────────────┼────────────────┐\n       ┌────────┴───────┐ ┌──────┴──────┐ ┌───────┴─────┐\n       │    Database    │ │    Cache    │ │   Storage   │\n       └────────────────┘ └─────────────┘ └─────────────┘\n```\n---\n\n## Requirements\n\n### Functional Requirements\n\n1. **User Management**\n   - User registration and authentication\n   - Profile management and customization\n   - Role-based access control (User/Admin)\n\n2. **Movie Catalog**\n   - Movie database with rich metadata\n   - Movie search by title, genre, cast, and other attributes\n   - Movie details with trailers, posters, and cast information\n\n3. **User Interactions**\n   - Rate and review movies\n   - Add movies to favorites and watchlists\n   - Track viewing history\n\n4. **Movie Lists \u0026 Collections**\n   - Create custom movie lists\n   - Public and private list sharing\n   - Collaborative list creation\n\n5. **Recommendation System**\n   - Personalized movie recommendations\n   - Algorithm-based suggestions\n   - Friend-based recommendations\n\n6. **Notifications**\n   - Real-time notifications for new movies\n   - Social activity notifications\n   - Recommendation alerts\n\n### Non-Functional Requirements\n\n1. **Performance**\n   - Page load time \u003c 2 seconds\n   - API response time \u003c 500ms\n   - Support for 10,000+ concurrent users\n\n2. **Scalability**\n   - Horizontal scaling capability\n   - Database optimization for large datasets\n   - CDN integration for media delivery\n\n3. **Security**\n   - Secure authentication and authorization\n   - Data encryption in transit and at rest\n   - Input validation and SQL injection prevention\n\n4. **Reliability**\n   - 99.9% uptime availability\n   - Automated backup and disaster recovery\n   - Error handling and graceful degradation\n\n5. **Usability**\n   - Responsive design for all devices\n   - Intuitive user interface\n   - Accessibility compliance (WCAG 2.1)\n\n---\n\n## Database Design\n\n### Entity Relationship Diagram\n\nOur database follows a normalized design with the following core entities:\n\n- **Users**: User accounts and profiles\n- **Movies**: Movie catalog with metadata\n- **Genres**: Movie categorization\n- **Cast_Members**: Actor and crew information\n- **Reviews**: User movie reviews\n- **Movie_Lists**: User-created movie collections\n- **User_Movie_Interactions**: User engagement tracking\n- **Notifications**: System notifications\n- **User_Follows**: Social connections\n\nFor detailed database schema, see: [Database Design Documentation](./DB_Design/Entities.md)\n\n---\n\n## API Design\n\n### RESTful API Endpoints\n\nOur API follows REST principles with clear, consistent endpoints:\n\n#### Authentication\n\n```\nPOST /auth/register     - User registration\nPOST /auth/login        - User login\n```\n\n#### Movies\n\n```\nGET  /movies           - Search and browse movies\nGET  /movies/{id}      - Get movie details\nPOST /movies           - Add new movie (Admin)\n```\n\n#### User Interactions\n\n```\nPOST /movies/{id}/rate      - Rate a movie\nPOST /movies/{id}/favorite  - Add to favorites\nPOST /movies/{id}/view      - Track movie view\n```\n\n#### Reviews\n\n```\nPOST /movies/{id}/reviews   - Write a review\nGET  /movies/{id}/reviews   - Get movie reviews\n```\n\n#### Movie Lists\n\n```\nPOST /lists                 - Create movie list\nPOST /lists/{id}/movies     - Add movie to list\nGET  /users/{id}/lists      - Get user's lists\n```\n\nFor complete API documentation, see: [API Design](./api/api_design.json)\n\n---\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1ayanabil1%2Fieeemdb_system_design","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1ayanabil1%2Fieeemdb_system_design","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1ayanabil1%2Fieeemdb_system_design/lists"}