{"id":25819040,"url":"https://github.com/pngo1997/character-plot-generator-mvc-pattern","last_synced_at":"2026-06-13T15:33:34.201Z","repository":{"id":226055003,"uuid":"657280374","full_name":"pngo1997/Character-Plot-Generator-MVC-Pattern","owner":"pngo1997","description":"Implements a plot generator using the Model-View-Controller (MVC) design pattern.","archived":false,"fork":false,"pushed_at":"2025-01-30T18:00:23.000Z","size":486,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T18:36:40.015Z","etag":null,"topics":["pyhon"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/pngo1997.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}},"created_at":"2023-06-22T17:59:34.000Z","updated_at":"2025-01-30T18:00:56.000Z","dependencies_parsed_at":"2024-03-05T17:15:07.300Z","dependency_job_id":"3f805799-b5c0-4a59-86c1-5ef30227dd42","html_url":"https://github.com/pngo1997/Character-Plot-Generator-MVC-Pattern","commit_stats":null,"previous_names":["pngo1997/characterplot-mvc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pngo1997%2FCharacter-Plot-Generator-MVC-Pattern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pngo1997%2FCharacter-Plot-Generator-MVC-Pattern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pngo1997%2FCharacter-Plot-Generator-MVC-Pattern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pngo1997%2FCharacter-Plot-Generator-MVC-Pattern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pngo1997","download_url":"https://codeload.github.com/pngo1997/Character-Plot-Generator-MVC-Pattern/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241122328,"owners_count":19913457,"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":["pyhon"],"created_at":"2025-02-28T08:14:26.610Z","updated_at":"2026-06-13T15:33:29.181Z","avatar_url":"https://github.com/pngo1997.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏗️ Character Plot Generator (MVC Pattern)  \n\n## 📜 Overview  \nThis project implements a **plot generator** using the **Model-View-Controller (MVC)** design pattern. The generator allows users to create plots by either selecting story elements interactively or generating them randomly.  \n\n## 🎯 Problem Explanation  \nA **plot generator** helps in crafting narratives by selecting key story elements such as **hero names, professions, villains, and conflicts**. The project consists of three types of generators:  \n\n1. **SimplePlotGenerator**  \n   - Returns a basic plot:  \n     ```python\n     pg = SimplePlotGenerator()\n     pg.generate()\n     ```\n     **Output:**  \n     ```\n     Something happens\n     ```\n\n2. **RandomPlotGenerator**  \n   - Generates a random plot using elements from **seven predefined text files**.  \n   - Constructs sentences in the format:  \n     ```\n     \u003cplot_name\u003e, a \u003cplot_adjective\u003e \u003cplot_profession\u003e, must \u003cplot_verb\u003e the \u003cplot_adjective_evil\u003e \u003cplot_villain_job\u003e, \u003cplot_villain\u003e.\n     ```\n     **Example Output:**  \n     ```\n     Aaliyah Mosley, an abiding alabasterer, must acknowledge the assuming assassin, Acheron Redwood.\n     ```\n\n3. **InteractivePlotGenerator**  \n   - Allows users to **select** elements for their story interactively.  \n   - The system presents **five random options** for each category and asks the user to **choose one**.\n   - Ensures user-friendly interaction **without direct I/O handling** in the generator classes.  \n\n## 🛠️ Implementation Details  \n- **Model:** Handles plot generation logic and stores narrative elements.  \n- **View \u0026 Controller:** Managed by the `PlotViewer` class, which interacts with the user and displays results.  \n- **Separation of Concerns:** The model (plot generator) does **not** handle direct user input/output. Instead, it **registers with PlotViewer**, which manages interaction.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpngo1997%2Fcharacter-plot-generator-mvc-pattern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpngo1997%2Fcharacter-plot-generator-mvc-pattern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpngo1997%2Fcharacter-plot-generator-mvc-pattern/lists"}