< home

Co-Re MERN Work In Progress

Source Demo

Course-Review is a MongoDB-Express-React-Node (MERN1) web application that aims to serve as a platform for college students to post structured yet personal reviews of courses they’ve taken, and view reviews posted by other students.

Functionality

Login & Registration :


Search :


Markdown Support :

To Do

Login & Registration :


User Interface / User Experience :


Bugs :

Code

Course Review Schema:

const mongoose = require("mongoose");

const Schema = mongoose.Schema;

const coursereviewSchema = new Schema(
  {
    university: { type: String, required: true },
    subject: { type: String, required: true },
    code: { type: String, required: true },
    name: { type: String, required: true },
    semester: { type: String, required: true },
    professor: { type: String, required: true },
    rating: { type: Number, required: true },
    author: { type: String, required: true },
    authorId: { type: String, required: true },
    general: { type: String, required: true },
    tldr: { type: String, required: true },
    workloadrating: { type: Number, required: true },
    examsrating: { type: Number, required: true },
    syllabus: String,
    textbook: { type: String, required: true },
    grading: String,
    workload: String,
    lectures: String,
    assignments: String,
    exams: String,
  },
  {
    timestamps: true,
  }
);

const CourseReview = mongoose.model("CourseReview", coursereviewSchema);

module.exports = CourseReview;

Demo

Co-Re Home Page

Home page of Co-Re. Here, you can see overview of courses, and search instantly for any course. The search function allows for fuzzy matching2.


Co-Re View Course Page

This is an example page of a course review. Markdown text formatting is supported.


  1. MongoDB is a document database that generally serves as the backend service for MERN apps, while React.js is the client-side JavaScript framework that renders web elements. Express.js and Node.js make up the JavaScript web server. See also: MERN ↩

  2. Here, fuzzy matching (more accurately approximate string matching) refers to matching records based on approximate search terms, e.g. searching “naitonal” will find “National University of Singapore” as one of the matches. ↩