{"id":44390728,"url":"https://github.com/ilya-smut/blue-book","last_synced_at":"2026-02-12T02:27:55.722Z","repository":{"id":279311225,"uuid":"937675596","full_name":"ilya-smut/blue-book","owner":"ilya-smut","description":"Blue Book is an application that generates multiple-choice preparation questions for IT certifications, e.g. CompTIA A+, Network+, and Security+.","archived":false,"fork":false,"pushed_at":"2025-12-30T23:37:53.000Z","size":63340,"stargazers_count":12,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-02T10:13:02.533Z","etag":null,"topics":["ai","certification","comptia","cybersecurity","it","mock-tests","security"],"latest_commit_sha":null,"homepage":"https://student-bluebook.notion.site/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ilya-smut.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-02-23T16:36:18.000Z","updated_at":"2025-12-30T01:50:58.000Z","dependencies_parsed_at":"2025-05-18T21:22:04.402Z","dependency_job_id":"76923633-9900-47bd-afcd-0a8de02674f8","html_url":"https://github.com/ilya-smut/blue-book","commit_stats":null,"previous_names":["ilya-smut/blue-book"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/ilya-smut/blue-book","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilya-smut%2Fblue-book","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilya-smut%2Fblue-book/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilya-smut%2Fblue-book/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilya-smut%2Fblue-book/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ilya-smut","download_url":"https://codeload.github.com/ilya-smut/blue-book/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilya-smut%2Fblue-book/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29354901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T01:03:07.613Z","status":"online","status_checked_at":"2026-02-12T02:00:06.911Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ai","certification","comptia","cybersecurity","it","mock-tests","security"],"created_at":"2026-02-12T02:27:53.671Z","updated_at":"2026-02-12T02:27:55.714Z","avatar_url":"https://github.com/ilya-smut.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Bluebook Logo](https://github.com/ilya-smut/blue-book/blob/main/bluebook/static/images/book.png?raw=true)\n# Blue Book\n![demo-gif](https://github.com/ilya-smut/blue-book/blob/main/examples/videos/bluebook.gif?raw=true)\n\nBlue Book is a web application that generates AI-powered multiple-choice questions for **any exam or certification**. It ships with a built-in preset for **CompTIA Security+**, but you can add any exam you need via the **Exam Constructor**. Powered by Google's Gemini API, it provides instant feedback, detailed explanations, and personalized study recommendations.\n\n[Project's Homepage](https://student-bluebook.notion.site/)\n\n## Features\n\n### Question Generation \u0026 Review\n- Generate multiple-choice questions for any exam using Gemini AI.\n- Focus generation on specific topics or objectives with **additional requests**.\n- Submit answers and receive immediate feedback with detailed explanations per choice.\n- Get personalized study recommendations based on your answers.\n\n### Exam Management\n- Ships with a built-in **CompTIA Security+** preset.\n- Add custom exams for *any* certification or subject using the **Exam Constructor**.\n- Seamlessly switch between exams — each exam maintains its own isolated state.\n\n### Custom Prompts\n- Build and manage **custom prompt templates** via the Prompt Builder.\n- Use anchor-based templates to control exactly how questions are generated.\n- Select from your saved prompts when generating questions.\n\n### File Attachments\n- Upload reference files (study guides, notes, etc.) to a local cache.\n- Sync files to Gemini remote storage for AI-powered context.\n- Attach specific files to exams — attached files are included as context during question generation.\n\n### Persistence \u0026 State\n- **SQLite database** stores all saved questions, topics, exams and prompts.\n- **Server-side sessions** ensure state is preserved without cookie size limits.\n- Save individual questions for later revision.\n- Save and reuse custom topics per exam.\n- State is automatically saved and restored when switching between exams.\n\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| Backend | Python 3.10+, Flask 3, Click CLI |\n| AI | Google Gemini API (`google-genai`) |\n| Database | SQLite via SQLModel |\n| Validation | Pydantic v2 |\n| Templating | Jinja2 |\n| Sessions | Flask-Session (server-side filesystem) |\n| Sanitization | Bleach |\n| Container | Multi-stage Docker build (Python 3.13 Alpine) |\n\n\n## Installation\n\n### Docker (recommended)\n\nRun with a pre-built image:\n```sh\ndocker run -d -p 5000:5000 --platform linux/amd64 ilyasmut/student-bluebook\n```\n\nOr build from source with Docker Compose:\n```sh\ngit clone https://github.com/ilya-smut/blue-book\ncd blue-book/\ndocker compose up -d\n```\n\n### pip / pipx\n\n```sh\npip install student-bluebook\n```\n\n```sh\npipx install student-bluebook\n```\n\n## Usage\n\nStart the application:\n```sh\nbluebook start\n```\n\nStart in debug mode (verbose logging):\n```sh\nbluebook start --debug\n```\n\nThe app will be available at **http://localhost:5000**. On first launch, you'll be prompted to enter your [Gemini API key](https://aistudio.google.com/apikey).\n\nFor a full walkthrough of the interface, see the [wiki](https://github.com/ilya-smut/blue-book/wiki).\n\n## Disclaimer\n\nBlue Book is an independent study tool and is not affiliated with, endorsed by, or sponsored by CompTIA or any other certification body. All certification names are trademarks of their respective owners.\nYou can purchase official CompTIA study materials at their [official website](https://www.comptia.org/).\n\nAll questions are generated by third-party AI models (Google Gemini). The author of this application has no control over how these models were trained or what content they produce. Generated questions are intended as study aids and should not be treated as official exam material.\n\nPlease don't sue me.\n\n## Contributing\nIf you'd like to contribute to Blue Book, feel free to submit a pull request or open an issue.\n\n## License\nThis project is licensed under the GPLv3.\n\n## Contact\nFor any questions or feedback, feel free to reach out.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filya-smut%2Fblue-book","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filya-smut%2Fblue-book","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filya-smut%2Fblue-book/lists"}