{"id":13602135,"url":"https://github.com/Bhupesh-V/tutorialdb","last_synced_at":"2025-04-11T08:31:35.456Z","repository":{"id":35428446,"uuid":"196412972","full_name":"Bhupesh-V/tutorialdb","owner":"Bhupesh-V","description":"  A search 🔎 engine for programming/dev tutorials,","archived":false,"fork":false,"pushed_at":"2023-10-01T13:48:27.000Z","size":674,"stargazers_count":127,"open_issues_count":38,"forks_count":61,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-10T08:30:01.151Z","etag":null,"topics":["api","dev-tool","dev-tutorials","developer-tools","devresources","devtools","django","django-rest-framework","hacktoberfest","search-engine","tools","tutorialdb-api","tutorials","tutorials-platfrom","webapp"],"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/Bhupesh-V.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":null,"patreon":"bhupesh","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-07-11T14:42:48.000Z","updated_at":"2025-03-10T03:34:37.000Z","dependencies_parsed_at":"2023-10-05T04:54:35.895Z","dependency_job_id":null,"html_url":"https://github.com/Bhupesh-V/tutorialdb","commit_stats":{"total_commits":136,"total_committers":12,"mean_commits":"11.333333333333334","dds":"0.49264705882352944","last_synced_commit":"b22c948aa573d06551544d9d64053b04bbbfd8d1"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhupesh-V%2Ftutorialdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhupesh-V%2Ftutorialdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhupesh-V%2Ftutorialdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhupesh-V%2Ftutorialdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bhupesh-V","download_url":"https://codeload.github.com/Bhupesh-V/tutorialdb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248361555,"owners_count":21090930,"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":["api","dev-tool","dev-tutorials","developer-tools","devresources","devtools","django","django-rest-framework","hacktoberfest","search-engine","tools","tutorialdb-api","tutorials","tutorials-platfrom","webapp"],"created_at":"2024-08-01T18:01:14.963Z","updated_at":"2025-04-11T08:31:35.435Z","avatar_url":"https://github.com/Bhupesh-V.png","language":"Python","funding_links":["https://patreon.com/bhupesh"],"categories":["api"],"sub_categories":[],"readme":"# tutorialdb \u003cimg src=\"https://raw.githubusercontent.com/Bhupesh-V/tutorialdb/master/app/static/app/TDB.png\" height=\"20px\"\u003e\n\n\u003e A search engine for programming/dev tutorials.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/Bhupesh-V/tutorialdb/master/app/static/app/tutorialdb.png\"\u003e\n\u003c/p\u003e\n\n\n![GitHub release](https://img.shields.io/github/release/Bhupesh-V/tutorialdb)\n[![GitHub license](https://img.shields.io/github/license/Bhupesh-V/tutorialdb)](https://github.com/Bhupesh-V/tutorialdb/blob/master/LICENSE)\n[![GitHub issues](https://img.shields.io/github/issues/Bhupesh-V/tutorialdb)](https://github.com/Bhupesh-V/tutorialdb/issues)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/af7df141776744a49435a876c7b87834)](https://app.codacy.com/app/Bhupesh-V/tutorialdb?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=Bhupesh-V/tutorialdb\u0026utm_campaign=Badge_Grade_Dashboard)\n[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors)\n[![CodeFactor](https://www.codefactor.io/repository/github/bhupesh-v/tutorialdb/badge)](https://www.codefactor.io/repository/github/bhupesh-v/tutorialdb)\n[![Maintainability](https://api.codeclimate.com/v1/badges/a4b8a52583b6706c0b3f/maintainability)](https://codeclimate.com/github/Bhupesh-V/tutorialdb/maintainability)\n\n### About the Project 🔘\n\n- **tutorialdb** is a small scale search engine for programming/dev tutorials, it is meant to help anyone who is getting started to learn a new technology.\n- The sole purpose of tutorialdb is to help people get to resources which might help them learn new things for e.g sometimes there are tutorials on personal blogs which do not get indexed by Google easily.\n- All the content (tutorials) is owned by the respective authors/sites.\n- tutorialdb maintains its own database saving the links to tutorials and some meta info.\n\n### Installation 🔮\n\n1. Create virtual environment.\n\n\t**Linux/MacOS**\n\t```bash\n\tvirtualenv -p python3 venv \u0026\u0026 cd venv \u0026\u0026 source bin/activate\n\t```\n\t**Windows**\n\t(*PowerShell*)\n\t```cmd\n\tpy -m venv venv; .\\venv\\Scripts\\activate;\n\t```\n\n2. Clone the repository.\n\n```bash\ngit clone https://github.com/Bhupesh-V/tutorialdb.git\n```    \n\n3. Install dependencies.\n\n```bash\npip install -r requirements.txt\n```\n\n4. Set-up virtual environment variables.\n\t1. Create a file named `.env` in the root directory \u0026 add the following contents.\n\t\n\t```text\n\tSECRET_KEY = 'my-secret-key'\n\tLOCAL_HOST = 'my-local-ip'\n\t```\n\t2. For `SECRET_KEY` use [Django Secret Key Generator](https://www.miniwebtool.com/django-secret-key-generator/) or [Djecrety](https://djecrety.ir/).\n\t3. Adding `LOCAL_HOST` is optional.\n\n5. Migrate tables.\n\n```bash\npython manage.py migrate\n```\n\n6. Run Tests.\n\n```bash\npython manage.py test\n```\n\n7. Run the development server.\n\n```bash\npython manage.py runserver\n```\n\n## 📝 License\n\nThis project is licensed under the MIT License. See the [LICENSE.md](LICENSE) file for details.\n\n## 👋 Contributing\n\nPlease read the [CONTRIBUTING](CONTRIBUTING.md) file for the process of submitting pull requests to us.\n\n## ✨ Contributors\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Animesh-Ghosh\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/34956994?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMaDDogx\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Bhupesh-V/tutorialdb/commits?author=Animesh-Ghosh\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/Bhupesh-V/tutorialdb/issues?q=author%3AAnimesh-Ghosh\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#ideas-Animesh-Ghosh\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/Bhupesh-V/tutorialdb/pulls?q=is%3Apr+reviewed-by%3AAnimesh-Ghosh\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"#userTesting-Animesh-Ghosh\" title=\"User Testing\"\u003e📓\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/liorbentov\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/8587019?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLior Shub\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Bhupesh-V/tutorialdb/commits?author=liorbentov\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/Bhupesh-V/tutorialdb/issues?q=author%3Aliorbentov\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#design-liorbentov\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.crowbar.com.br\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/22822110?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJosé Gabriel Gruber\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Bhupesh-V/tutorialdb/commits?author=JGabrielGruber\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Yegorov\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/2566462?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eArtem\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Bhupesh-V/tutorialdb/commits?author=Yegorov\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://svendborg-webdesign.dk/en\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/4233458?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eViktor Strate Kløvedal\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Bhupesh-V/tutorialdb/commits?author=viktorstrate\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/chrisshyi\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/24416618?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChris Shyi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Bhupesh-V/tutorialdb/commits?author=chrisshyi\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/vikneswaran20\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/8945535?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003evikneswaran\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Bhupesh-V/tutorialdb/commits?author=vikneswaran20\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ObliviousParadigm\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/47667852?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdarsh Shetty\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Bhupesh-V/tutorialdb/commits?author=ObliviousParadigm\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBhupesh-V%2Ftutorialdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBhupesh-V%2Ftutorialdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBhupesh-V%2Ftutorialdb/lists"}