{"id":16062236,"url":"https://github.com/boris/reimagined-invention","last_synced_at":"2026-01-11T03:59:16.290Z","repository":{"id":86064303,"uuid":"521810023","full_name":"boris/reimagined-invention","owner":"boris","description":"New version of my wife's books inventory","archived":false,"fork":false,"pushed_at":"2024-07-17T01:42:15.000Z","size":379,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T00:28:56.061Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Python","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/boris.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-06T00:40:11.000Z","updated_at":"2024-07-16T18:12:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"f0fb1e5f-761f-4b63-aa4e-ee0fe1276639","html_url":"https://github.com/boris/reimagined-invention","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris%2Freimagined-invention","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris%2Freimagined-invention/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris%2Freimagined-invention/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris%2Freimagined-invention/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boris","download_url":"https://codeload.github.com/boris/reimagined-invention/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246786093,"owners_count":20833638,"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":["hacktoberfest"],"created_at":"2024-10-09T04:22:29.914Z","updated_at":"2026-01-11T03:59:16.253Z","avatar_url":"https://github.com/boris.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Reimagined Invention\nNew generation of [the book inventoy](https://books.lenore.me).\n\n## Requirements:\n- Python 3.9.10 in a venv `reimagined-invention`\n\n## Design patterns\nThis project will be developed usign a [functional\nstructure](https://exploreflask.com/en/latest/blueprints.html#functional-structure)\nto organize the files of the project according to what they do. This means that\ntemplates are grouped together in one directory, static in another and views in\na third (copy/paste from Flask documentation).\n\n### DB relationships:\n\n **Author -\u003e Book** should be a many-to-many relationship as multiple authors can\nshare the ownership of a book.\n\nFor example, authors A and B wrote the book X. When listing all the books\nwritten by author A, book X must appear in the results. Likewise when\nlisting the books written by author B.\n\nIf we want to use a one-to-one relationship, the book X should only be\nreturned as part of the results if we search by \"the books written by author\nA **and** author B\" working together.\n\nSee [PR/3](https://github.com/boris/reimagined-invention/pull/3) for\ndocumentation about v0.1.0 release.\n\n## Usage\nCreate an empty `.env_vars` file. If you want to take advantage of the Makefile,\nupdate it with the following content:\n```\nCF_TUNNEL=some_token\nMYSQL_ROOT_PASSWORD=some_password\n```\nCreate a `config.yaml` out of `config.yaml.example` and update the values. Then:\n```\nflask --app app --debug db migrate\nflask --app app --debug db upgrade\nflask --app app --debug run\n```\n\n## Building images\nIt uses a `Makefile`, and it's as simply as:\n```\nmake build\nmake push\n```\n\nThis will build two images:\n- One named `latest`\n- One named after the latest git tag\n\nImages will be pused to AWS ECR private repository, until this project gets\nopen-sourced. Which will happen once it's live.\n\n## Sample DB\nSample DB has been added. On mysql create a new DB and restore using the dump.\n\n## Suggestions\n- Use [Cloudflare Tunnels](https://www.cloudflare.com/products/tunnel/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboris%2Freimagined-invention","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboris%2Freimagined-invention","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboris%2Freimagined-invention/lists"}