A simple yet powerful web application designed to help users discover, compare, keep track of and share free courses online.
Landing page
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
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
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
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.
Course Finder was developed by:
Duncan Ngugi
Marving Buge
Samuel Ekati