DEV Community

Cover image for tutorialdb - search engine ๐Ÿ” for programming tutorials
Bhupesh Varshney ๐Ÿ‘พ
Bhupesh Varshney ๐Ÿ‘พ

Posted on • Edited on • Originally published at bhupesh.codes

tutorialdb - search engine ๐Ÿ” for programming tutorials

TLDR;

Hey guys I just launched tutorialdb, it's a small scale search engine for programming tutorials.

Why did you make that ?

There is no escape from the fact that everyone starts programming after watching a cool programming "tutorial". Tutorials somehow make us who we are today.

The problem is you (as a beginner) may or may not find the perfect tutorial to follow, tutorialdb does the work for you (gathering tutorials) so that you don't waste your time googling.

Another reason for making it was that sometimes tutorials which are hosted on personal blogs do not get indexed easily on google (compared to tutorials hosted for e.g on medium ).

When you are starting, there is no best tutorial.

Just learn as much as you can from multiple sources.

You can always connect the dots later looking back.

โ€” JavaScript Teacher (@js_tut) September 25, 2019

Try not to fall in tutorial purgatory though !

Features โœจ

  • ๐Ÿฆ„ Share your fav tutorials.

  • ๐Ÿ“Œ Search by tags.

  • ๐Ÿ‘ท It has an open API.

  • โšก Super fast results.
  • ๐Ÿ”— Direct Link to original tutorials.
  • ๐Ÿ™…๐Ÿฝโ€โ™‚๏ธ No useless stuff.

Contribute

You can contribute to tutorialdb in many ways

  • Improving my code ๐Ÿ˜… You can work on some open issues (btw it's hacktoberfest so feel free to send a lot of PRs).

Implementing HIT Count #5

The hit can be used to query most popular tutorials for the (week, day etc).

  • Writing Tests

Tests required. #9

None of the apps have any tests written. We NEED tests ASAP.

  • UI/UX Improvements

Moving search bar to Top #13

Will it be good idea to move the search bar for tutorials to the top ?

See the whole source code

GitHub logo Bhupesh-V / tutorialdb

A search ๐Ÿ”Ž engine for programming/dev tutorials,

tutorialdb

A search engine for programming/dev tutorials.

GitHub release GitHub license GitHub issues Codacy Badge All Contributors CodeFactor Maintainability

About the Project ๐Ÿ”˜

  • 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.
  • 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.
  • All the content (tutorials) is owned by the respective authors/sites.
  • tutorialdb maintains its own database saving the links to tutorials and some meta info.

Installation ๐Ÿ”ฎ

  1. Create virtual environment.

    Linux/MacOS

    virtualenv -p python3 venv && cd venv && source bin/activate
    Enter fullscreen mode Exit fullscreen mode

    Windows (PowerShell)

    py -m venv venv; .\venv\Scripts\activate;
    Enter fullscreen mode Exit fullscreen mode
  2. Clone the repository.

git clone https://github.com/Bhupesh-V/tutorialdb.git
Enter fullscreen mode Exit fullscreen mode
  1. Install dependencies.
pip install -r requirements.txt
Enter fullscreen mode Exit fullscreen mode
  1. Set-up virtual environment variables.

    1. Create a file named .env in the root directory & add the followingโ€ฆ
  • As a content creator
    If you are someone who writes awesome content for devs out there, you can contribute your tutorials,blogs,courses,videos (it just takes a minute).

    PS: you don't need to sign-in/sign-up to contribute anything.

  • Using API
    You can create stuff using the tutorialdb REST API.

Feedback ๐Ÿค—

Suggestions & feedback are always welcomed.
If you liked tutorialdb please give it a upvote on ProductHunt or โญ the repository.

tutorialdb - A search engine for programming/dev tutorials. | Product Hunt Embed

Support

You can support me by sharing and using my stuff, also on Patreon.

Top comments (23)

Collapse
 
laisbsc profile image
Laรญs Carvalho

Hey there Bhupesh, I really like the idea of your project!
We were all quite impressed with your tags and the system itself. So much so that we decided to showcase it on our weekly Python news channel, Mid Meet Py (dev.to/midmeetpy).
We also like the Patreon button on it. It's always good to have a place to give the opportunity for the community to retribute the work we do.

Would you be interested in talking about the tutorialdb on a lightning talk?
Congrats on the initiative again :)

Take care.

Kindly,
Lais.

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

Hi ๐Ÿ‘‹ Lais,
Thanks a lot for considering showcasing tutorialdb.
I would love to talk about it if that seems ok:)
We can can connect on DEV Connect if you want to know more about it.

Again, Thanks a lot for reaching out.
๐Ÿ ๐Ÿ’™

Collapse
 
laisbsc profile image
Laรญs Carvalho

I spoke about it yesterday on Mid Meet, I will send you the link when it's published if you wanna advertise more.

Let's catch up on DEV connect, absolutely!

Thank you for serving the community and for being so nice.

Chat soon.

Collapse
 
jldevezas profile image
Josรฉ Devezas

I would move the search box to the top, in order to avoid scrolling. And maybe increase its size. I would also maybe add a counter with the number of results for a given tag and disable tags that have no results.

Nice work!

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

Thanks a lot Josรฉ, there is actually an open issue about this (it may get fixed with future release.)
The counter idea looks really nice(going to open the issue).
Feel free to report any other issues @github.com/Bhupesh-V/tutorialdb/is...

Collapse
 
davidmm1707 profile image
David MM๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป

Great job Bhupesh.

I like the tool, but then I saw the Github repo and you use Django/DRF. Next week I have a 3-days weekend, so I'm going to try to contribute to the project (for your own sake, not with the UI/UX ๐Ÿ˜…).

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

Hehe thanks a lot
I am trying to improve my code ๐Ÿ˜†

Collapse
 
dev-i-am profile image
Derek

Should add the last time the course was updated

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

that would be a nice addition
Thanks Derek :)

Collapse
 
z2lai profile image
z2lai

Wow, I was just thinking of making a resource aggregation tool and it looks like you've done it. I immediately wanted to contribute but then I found out it's not built with Javascript which is the only language I know :(.

Anyway, the graphics and icons are looking super cool, and I like that it has a catchy acronym - TDB! I'm excited to see the progress of your web app.

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

Hey! Thanks a lot ๐Ÿ’š
You can still contribute with some JS based issues.
I am trying to improve it.

Collapse
 
jurajondrejh profile image
Juraj Ondrej H.

I like the idea.
Possibility to filter by language should be really useful for non-english speaking beginners.

And thanks for sharing this tool on Dev.to so I could catch it here.

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

Thanks for the feedback ๐Ÿ’™.
I guess that would be hard to integrate but I would surely try it out.

Collapse
 
jurajondrejh profile image
Juraj Ondrej H.

What about add one dropdown (same like as Type) with languages on contribute page? And then another one on search page as Filter.

Collapse
 
maxdevjs profile image
maxdevjs

(โœŒ๏พŸโˆ€๏พŸ)โ˜ž Ops

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

Which things are you searching for ? the db is limited :)

Collapse
 
maxdevjs profile image
maxdevjs

I tried Svelte :D

Collapse
 
learnbyexample profile image
Sundeep

heads up: missing 'd' in this link: tutorialb-app.herokuapp.com/contri...

congrats on the project, will check it out!

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

hey thanks ๐Ÿ˜„
It's Fixed now

Collapse
 
webdeasy profile image
webdeasy.de

Great idea and beautifully implemented! I try to support you ;)

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

Thanks a lot :)

Collapse
 
4unkur profile image
Daiyrbek Artelov

Nice, but I was interested in Java tutorials and I got plenty of javascript tutorials (
tutorialdb-app.herokuapp.com/searc...

I think you have to show exact matches first.

Collapse
 
bhupesh profile image
Bhupesh Varshney ๐Ÿ‘พ

You are absolutely right.
Thanks for reporting this ๐Ÿ”ฅ