{"id":25400738,"url":"https://github.com/delitamakanda/fanfiction","last_synced_at":"2025-10-30T22:31:14.980Z","repository":{"id":29600948,"uuid":"122180421","full_name":"delitamakanda/fanfiction","owner":"delitamakanda","description":" fanfiction api ","archived":false,"fork":false,"pushed_at":"2025-02-05T13:42:37.000Z","size":36503,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-05T14:34:23.600Z","etag":null,"topics":["django","django-rest-framework","jwt-authentication","python","redis-cache","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Python","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/delitamakanda.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}},"created_at":"2018-02-20T09:53:10.000Z","updated_at":"2025-02-05T13:42:33.000Z","dependencies_parsed_at":"2023-02-18T11:32:03.820Z","dependency_job_id":"14abe1ab-d55c-45ae-8b4f-3bf7e2257b7d","html_url":"https://github.com/delitamakanda/fanfiction","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delitamakanda%2Ffanfiction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delitamakanda%2Ffanfiction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delitamakanda%2Ffanfiction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delitamakanda%2Ffanfiction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/delitamakanda","download_url":"https://codeload.github.com/delitamakanda/fanfiction/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239073992,"owners_count":19577123,"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":["django","django-rest-framework","jwt-authentication","python","redis-cache","rest-api"],"created_at":"2025-02-16T00:29:33.768Z","updated_at":"2025-10-30T22:31:11.203Z","avatar_url":"https://github.com/delitamakanda.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fanfiction\n\n[![Django CI](https://github.com/delitamakanda/fanfiction/actions/workflows/django.yml/badge.svg?branch=master)](https://github.com/delitamakanda/fanfiction/actions/workflows/django.yml)\n\n\u003e A fanfic application in vue.js and django\n\n### Demo Live App\n[ionic app](https://fanfiction-fr.netlify.app/)\n\n## Build Setup\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run dev\n\n# build for production with minification\nnpm run build\n\n# build for production and view the bundle analyzer report\nnpm run build --report\n```\n\nFor a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).\n\n\n``` bash\n# set an virtual env\npython3 -m venv fanfiction\n\nsource fanfiction/bin/activate\n\npip install -r requirements-dev.txt\n\npython3 manage.py migrate\n\npython3 manage.py runserver\n```\n\n## Tests\n\n``` bash\ncoverage run --source=api ---omit=*/migrations/*  manage.py test\n\ncoverage report -m\n```\n\n## Asynchronous tasks\n\n``` bash\ncelery -A backend worker -l info -B\n```\n\n## Translation\n\n```bash\ndjango-admin makemessages --ignore=venv/*\ndjango-admin compilemessages\n```\n\n## Recommandation engine\n\n```bash\n\u003e\u003e\u003e from api.models import Fanfic\n\u003e\u003e\u003e fanfic_1 = Fanfic.objects.get(id=1)\n\u003e\u003e\u003e fanfic_2 = Fanfic.objects.get(id=2)\n\u003e\u003e\u003e fanfic_3 = Fanfic.objects.get(id=3)\n\u003e\u003e\u003e fanfic_4 = Fanfic.objects.get(id=4)\n\u003e\u003e\u003e from api.recommender import Recommender\n\u003e\u003e\u003e print(fanfic_1)\nAcchi Kocchi - Ben-To Crossover\n\u003e\u003e\u003e print(fanfic_2)\nJusqu'à ce que la mort nous sépare...\n\u003e\u003e\u003e print(fanfic_3)\nNature\n\u003e\u003e\u003e print(fanfic_4)\nElementary\n\u003e\u003e\u003e r = Recommender()\n\u003e\u003e\u003e print(r)\n\u003capi.recommender.Recommender object at 0x10f5de1d0\u003e\n\u003e\u003e\u003e r.fanfics_liked([fanfic_1, fanfic_2])\n\u003e\u003e\u003e r.fanfics_liked([fanfic_2, fanfic_3])\n\u003e\u003e\u003e r.fanfics_liked([fanfic_4, fanfic_1])\n\u003e\u003e\u003e r.fanfics_liked([fanfic_1, fanfic_3])\n\u003e\u003e\u003e r.fanfics_liked([fanfic_3, fanfic_4])\n\u003e\u003e\u003e r.suggest_fanfics_for([fanfic_1])\n[\u003cFanfic: Elementary\u003e, \u003cFanfic: Nature\u003e, \u003cFanfic: Jusqu'à ce que la mort nous sépare...\u003e]\n\u003e\u003e\u003e r.suggest_fanfics_for([fanfic_2])\n[\u003cFanfic: Nature\u003e, \u003cFanfic: Acchi Kocchi - Ben-To Crossover\u003e]\n\u003e\u003e\u003e r.suggest_fanfics_for([fanfic_3])\n[\u003cFanfic: Elementary\u003e, \u003cFanfic: Jusqu'à ce que la mort nous sépare...\u003e, \u003cFanfic: Acchi Kocchi - Ben-To Crossover\u003e]\n\u003e\u003e\u003e r.suggest_fanfics_for([fanfic_4])\n[\u003cFanfic: Nature\u003e, \u003cFanfic: Acchi Kocchi - Ben-To Crossover\u003e]\n\u003e\u003e\u003e r.suggest_fanfics_for([fanfic_4, fanfic_1])\n[\u003cFanfic: Nature\u003e, \u003cFanfic: Jusqu'à ce que la mort nous sépare...\u003e]\n\u003e\u003e\u003e r.suggest_fanfics_for([fanfic_1, fanfic_2])\n[\u003cFanfic: Nature\u003e, \u003cFanfic: Elementary\u003e]\n```\n\n## Scraper\n\n```bash\npython3 fanfics/scraper.py ccs\npython3 fanfics/scraper.py op\npython3 fanfics/scraper.py marvel\n\npython3 manage.py import_from_fanfiction_as_csv output_ccs.csv\npython3 manage.py import_from_fanfiction_as_csv output_op.csv\npython3 manage.py import_from_fanfiction_as_csv output_marvel.csv\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelitamakanda%2Ffanfiction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdelitamakanda%2Ffanfiction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelitamakanda%2Ffanfiction/lists"}