A platform designed to connect Learners and Educators, giving access to knowledge worldwide. From Elementary-level Biology to Collegiate-level Chemistry, Course Horse promotes varying levels of courses in all topics.
Course Horse is a Next.js Typescript based webapp, deployed using Vercel and MongoDB Atlas.
You can find our presentation/demo for Course Horse here.
There are 3 ways you can start using Course Horse.
To access Course Horse immediately, you can simply got to course-horse.vercel.app for our official deployment.
You can also easily use Docker to quickly spin up an instance of Course Horse. Simply install Docker for your respective system, and insure that you also have Docker Compose (it should be bundled when downloading from their website).
From here, simply clone the Course Horse repository, navigate to the directory in a terminal, and run
docker-compose up
. A Docker image of both Course Horse and MongoDB will be built and start running. After, simply access localhost:3000.
Being a Next.js project, Course Horse is very easy to get running on a system.
To run Course Horse, you will need to have an installation of Node and npm.
You will need access to a MongoDB database. This can be done by either having an instance locally installed on your machine to connect to, or having one available via the web (such as by using MongoDB Atlas).
Once done, you will need to configure the .env (or .env.local) file and ensure that the correct connection info and credentials are entered.
After all system dependencies are installed, you will need to install the project dependencies using npm.
npm i
After, you should be able to run the Course Horse webserver.
Run the developer build by using...
npm run dev
Run the production build by using...
npm run build
npm run start
By default, an enviornment variable called ALLOW_SEED
is set to true
. This allows you to access the /api/seed
route to populate the database for testing. See ./seed.ts
for more info.
When not set to true
, this feature is disabled (hence not available on the Vercel deployment).
Course Horse is a feature rich webapp designed to allow Educators to create courses for Learners all over the world to take.
Users with an accepted application, therefore becoming an educator, can create courses. From here, they can create lessons that have content rendered from Markdown, embedded YouTube videos, and a quizes.
Other users can then enroll in these courses to take them independently. When all lessons are marked as viewed and quizes completed, the course will be marked as completed.
Each lesson also has its own discussion for the enrolled users and creator to chat in.
To become an educator on Course Horse, the user must send an application which can be written in Markdown and have links attached. After, an admin user must go to the Application Portal where they can search through applications and accept them. Once a user is accepted, they can create courses on the platform.
- David Cruz
- Tristan Kensinger
- Tyler Lane
Course Horse is developed using an assortment of modern Javascript oriented web development tools and frameworks.
Course Horse is developed using...
- Next.js
- React
- Typescript
- MongoDB
- Iron-Session
- Sass
- Bootstrap
- React-Bootstrap
- Bootstrap Icons
- jQuery
- Axios
- Bcrypt
- Marked
- DOMPurify
Course Horse is deployed using...