{"id":28049121,"url":"https://github.com/venki1402/cinewiki","last_synced_at":"2026-04-26T22:31:26.723Z","repository":{"id":292000218,"uuid":"979474081","full_name":"Venki1402/cinewiki","owner":"Venki1402","description":"A Movie Director Management System","archived":false,"fork":false,"pushed_at":"2025-05-08T00:22:00.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-11T23:04:48.537Z","etag":null,"topics":["java","spring"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Venki1402.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}},"created_at":"2025-05-07T15:07:10.000Z","updated_at":"2025-05-08T00:22:04.000Z","dependencies_parsed_at":"2025-05-07T16:48:23.385Z","dependency_job_id":"4d1c29d4-6ea8-4969-82f7-75ab9ee9272f","html_url":"https://github.com/Venki1402/cinewiki","commit_stats":null,"previous_names":["venki1402/cinewiki"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Venki1402%2Fcinewiki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Venki1402%2Fcinewiki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Venki1402%2Fcinewiki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Venki1402%2Fcinewiki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Venki1402","download_url":"https://codeload.github.com/Venki1402/cinewiki/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253645584,"owners_count":21941330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["java","spring"],"created_at":"2025-05-11T23:04:52.797Z","updated_at":"2026-04-26T22:31:26.687Z","avatar_url":"https://github.com/Venki1402.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CineWiki - A Movie Directory Application\n\n## Problem Statement\nCineWiki is a web-based movie directory application designed to manage and showcase information about movies and their directors. The application addresses the need for:\n- Organizing and maintaining a structured database of movies and directors\n- Establishing relationships between movies and their respective directors\n- Providing an intuitive interface for managing movie and director information\n- Enabling easy access to movie details and director filmographies\n\n## Architecture\n\n### Technology Stack\n- **Backend**: Spring Boot 3.2.3\n- **Frontend**: JSP with Bootstrap 5\n- **Database**: MySQL\n- **Build Tool**: Maven\n- **Java Version**: 21\n\n### Project Structure\n```\ncinewiki/\n├── src/\n│   ├── main/\n│   │   ├── java/\n│   │   │   └── com.example.cinewiki/\n│   │   │       ├── controller/\n│   │   │       ├── model/\n│   │   │       ├── repository/\n│   │   │       └── service/\n│   │   ├── resources/\n│   │   │   └── application.properties\n│   │   └── webapp/\n│   │       └── WEB-INF/\n│   │           └── views/\n│   └── test/\n│       └── java/\n└── pom.xml\n``` \n\n### Key Components\n1. **Models**:\n   - Movie (id, title, releaseYear, genre, plot, budget, boxOffice)\n   - Director (id, name, birthDate, nationality)\n\n2. **Controllers**:\n   - MovieController\n   - DirectorController\n\n3. **Services**:\n   - MovieService\n   - DirectorService\n\n4. **Repositories**:\n   - MovieRepository (JPA)\n   - DirectorRepository (JPA)\n\n## APIs\n\n### Movie Endpoints\n| Method | URL | Description |\n|--------|-----|-------------|\n| GET | `/movies` | List all movies |\n| GET | `/movies/new` | Show movie creation form |\n| POST | `/movies` | Create new movie |\n| GET | `/movies/{id}` | Show movie details |\n| GET | `/movies/{id}/edit` | Show movie edit form |\n| POST | `/movies/{id}` | Update movie |\n\n### Director Endpoints\n| Method | URL | Description |\n|--------|-----|-------------|\n| GET | `/directors` | List all directors |\n| GET | `/directors/new` | Show director creation form |\n| POST | `/directors` | Create new director |\n| GET | `/directors/{id}` | Show director details |\n| GET | `/directors/{id}/edit` | Show director edit form |\n| POST | `/directors/{id}` | Update director |\n\n## Screenshots\n\n### Home\n![image2](https://github.com/user-attachments/assets/da20ca67-7ca9-4c21-8656-49c3d2e16e78)\n\n\n### Movie Management\n- **Create Movie**\n![image4](https://github.com/user-attachments/assets/10ff0962-ee27-44e2-a56a-c814f4170cc7)\n\n- **List Movies**\n![image8](https://github.com/user-attachments/assets/99dd002e-3efa-4ce5-9692-0f0145a09eca)\n\n- **Detail View**\n![image6](https://github.com/user-attachments/assets/393c998d-6cdf-4ad5-ab3c-94036729b1b6)\n\n- **Edit Movie**\n\u003cimg width=\"1552\" alt=\"image9\" src=\"https://github.com/user-attachments/assets/20d7eb5d-31a7-4143-a40e-2efd846077eb\" /\u003e\n\n\n### Director Management\n- **Create Director**\n![image1](https://github.com/user-attachments/assets/b1de0216-6e54-494b-84f0-2f992a1cb0e3)\n\n- **List Directors**\n![image7](https://github.com/user-attachments/assets/6eab2a81-bc20-4026-b08c-4c094431a42e)\n\n- **Detail View**\n![image5](https://github.com/user-attachments/assets/cfcece7b-89ad-45b2-b570-7845ec3530c9)\n\n- **Edit Director**\n\u003cimg width=\"1552\" alt=\"image10\" src=\"https://github.com/user-attachments/assets/10db0d5e-ad47-43f1-88dc-0b1fc42d846d\" /\u003e\n\n\n\n## Tests\n\n### Unit Tests\nThe application includes comprehensive unit tests for:\n- Repository layer (using H2 in-memory database)\n- Service layer\n- Controller layer\n\n### Test Coverage\n\n- MovieRepositoryTest\n    - testFindByDirectorId\n    - testFindAllMoviesWithDirectors\n    - testSaveMovie\n    - testDeleteMovie\n    - testFindById\n\n- DirectorRepositoryTest\n    - testFindById\n    - testSaveDirector\n    - testDeleteDirector\n    - testFindAllDirectors\n\n- MovieServiceTest\n    - testGetAllMovies\n    - testGetMovieById\n    - testSaveMovie\n    - testDeleteMovie\n    - testGetMoviesByDirectorId\n\n- DirectorServiceTest\n    - testGetAllDirectors\n    - testGetDirectorById\n    - testSaveDirector\n    - testDeleteDirector\n\n- MovieControllerTest\n    - testListMovies\n    - testCreateMovie\n    - testUpdateMovie\n    - testDeleteMovie\n    - testShowMovieDetails\n\n- DirectorControllerTest\n    - testListDirectors\n    - testCreateDirector\n    - testUpdateDirector\n    - testShowDirectorDetails\n\n### Running Tests\n```\n# Run all tests\nmvn test\n\n# Run specific test class\nmvn test -Dtest=MovieRepositoryTest\n\n# Run with coverage report\nmvn test jacoco:report\n``` \n\n## Setup and Installation\n\n1. Clone the repository\n``` \ngit clone https://github.com/Venki1402/cinewiki\n``` \n\n2. Configure MySQL database\n```\nspring.datasource.url=jdbc:mysql://localhost:3306/cinewiki_db\nspring.datasource.username=root \nspring.datasource.password=root\n``` \n\n3. Build the project\n```\nmvn clean install\n``` \n\n4. Run the application\n```\nmvn spring-boot:run\n``` \n\n5. Access the application at `http://localhost:8080`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenki1402%2Fcinewiki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvenki1402%2Fcinewiki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenki1402%2Fcinewiki/lists"}