ananthamapod / Auditor

Web tool with compiled database of classes offered at various universities that helps people audit/attend classes during the free time in their schedules

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Auditor

This is a web app with a user compiled database of classes offered at various universities that helps people audit/attend classes during the free time in their schedules

Just throw in a full list of where you are at what times during the day, and you can find classes that are open to the public along your route.

Screenshot

Setup

First you need to install the docker-related tools if you don't have them already.

  1. Check out the docker install directions for your particular operating system here at the docker site.
  2. Docker-compose installation instructions can be found here.

Running the app

git clone https://github.com/ananthamapod/Auditor
cd Auditor
docker-compose up
...

Aand we're off!

Tools

  • Node
  • Express
  • ElasticSearch
  • MySQL
  • Redis
  • Docker
  • React
  • Redux
  • Webpack
  • Python
  • SQLAlchemy
  • and a ton of npm packages

Implementation

More detailed implementation document coming soon.

  • The client-side application is a React app with Redux
  • With a webpack build and bundle process
  • Front-facing web server is a Node/Express server
  • Database is a MySQL container
  • Database connections are mediated by a python microservice with SQLAlchemy for connecting to the the MySQL instance
  • Redis is used to queue up searches
  • Searches from redis go to a Node/Express search microservice
  • Search microservice uses ElasticSearch for fuzzy keyword searches against the MySQL database to find classes

Development

Running everything as containers and using docker-compose is not recommended for development. Run just the services that you're working on. Test against local database/redis/elasticsearch instance or a database/redis/elasticsearch container.

About

Web tool with compiled database of classes offered at various universities that helps people audit/attend classes during the free time in their schedules


Languages

Language:JavaScript 81.3%Language:CSS 11.4%Language:Python 6.0%Language:HTML 1.3%