Skip to content

ngugimuchangi/CourseFinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Description

A simple yet powerful web application designed to help users discover, compare, keep track of and share free courses online.

Table of contents

Components

  1. Frontend - React web application
  2. Backend - Web scrapper and restful api

Landing page

Landing page

Installation and setup

To run the application locally, follow these steps:

Clone the repository to your local machine.

git clone https://github.com/ngugimuchangi/CourseFinder.git

Run setup scripts

  • API setup
cd CourseFinder/backend/api
./set-up.sh
  • Scraper setup
cd CourseFinder/backend/scraper
./setup.sh

Backend

Start scraper

npm run start-scraper

Start workers

npm run start-workers

Start server

npm run start-server

For more details in regards to backend installation visit backend directory

Frontend

Install the necessary dependencies.

cd frontend
npm install

Start the application.

npm start

For more details in regards to getting started with the frontend application visit frontend directory

Tools

Main tools used for development:

  • MongoDB: A NoSQL database used to store course information and metadata.
  • ExpressJS: A web application framework for Node.js, used to build the server-side components of the application.
  • ReactJS: A JavaScript library used to build the client-side components of the application.
  • NodeJS: A JavaScript runtime used to build the server-side components of the application.
  • Redis:: An in-memory data structure store used as a caching layer for frequently accessed data.
  • Bull: : A job queue package for handling distributed jobs and messages.
  • Puppeteer: A package.
  • Natural: A Natural Language Processing library.

Note: You will need to have MongoDB, Nodejs, and Redis installed and running on your machine in order to use the application.

Contributors

Course Finder was developed by:
Duncan Ngugi
Marving Buge
Samuel Ekati

About

A web application to find free online courses.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published