Find Courses for Learning (Submission for Hackathon)
Tags: atlashackathon22, javascript, react, node
Published: 2022-12-06 12:31:41

## What I built
A platform that will help people to find **_FREE_** courses related to their respective domain (frontend, backend, fullstack etc) from different resources like **Udemy**, **Coursera**, **Youtube** etc.

### Category Submission: **Search No More**

### App Link
I will deploy it soon, mean while it's an **_open source_** project you guys can **clone** and run the project for testing.

### Screenshots
![Login](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/djki5qiff393jtkudgqv.PNG)

![Signup](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dquau2v5t4kpyuplptgr.PNG)

![Full text search](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mwb6reewaj1mhkstexty.PNG)

![Autocomplete search](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qgcl9hbikka6n83ggqov.PNG)


## Description

Tech Stack: MERN Stack (React, Node.js, MongoDB Atlas) 
On FrontEnd (React.js) i have use a basic folder structure to for CRUD operations, UI, API's calling etc, you can review below

![Frontend codebase structure](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r12idrd9y5joa26b4p0m.png)

On BackEnd (Node.js) i have use MRC structure (Model, Route, Controller). currently i have done all the functionality in a single "index.js" file for time save, I have also use Socket.io to make a Realtime connection from Backend to Frontend for some features.

On Database, I have use MongoDB Atlas to save data and use the full-text-search and auto suggest search feature of MongoDB.

### Features

> User can SignUp, Login & login as guest
> User can search for free courses.
> Courses will be free and from different resources like Udemy, Coursera, youtube etc.
> Courses will be related to different domain like frontend, backend, devops, fullstack etc, with parent domain IT
> User can filter courses on bases of search input
> User will get some quick suggestions for search input to make search more quick.

### Phase 2 Features
I will create/design a script to scrapping from different courses websites and will update database,
I will create a job using MongoDB Tigger feature which will update courses and.
check out video about this feature on my YouTube channel [MongoDB Trigger](https://www.youtube.com/watch?v=hDyFF0EicUU)
 

### Link to Source Code
[Find my course - Source Code](https://github.com/zainbinfurqan/hackathon-mongoDB-2022)

### Permissive License
[License](https://github.com/zainbinfurqan/hackathon-mongoDB-2022/blob/master/LICENSE)


## Background
I was making a video on **_recession_** in the field of Software engineering for my Youtube Channel [Yar Coder](https://www.youtube.com/c/yarcoder), and I thought why not to create a platform that will help people learn new things for their future so they will have more opportunities to explore & get job easily in this recession wave.


### How I built it
My main focus was to make search more quick and easy so i decided to pick **search** category and explore the full text search & autocomplete feature in MongoDB Atlas.

### Personal note
You can check out my YouTube channel for other **IT** related **Tutorials**. 
[Yar Coder](https://www.youtube.com/c/yarcoder)