Code Monkey home page Code Monkey logo

course-management-system's Introduction

Course Management System(click here to try)

flow

Backend
  • API to register and login user.
  • API using which loged in user can add, edit and update it's product.
  • Pagination API to give list of perticular user's added product.
  • JWT token authentication.
Frontend
  • Creating a Component in React and creat routing.
  • Using react and material UI created form to login user and can register new user.
  • Course add and delete also you can search school, subject and course by name.
  • Making HTTPS calls using Axios.
  • Hyperlink to RateMyProfessor

Prerequisites

Below noted things you need to install to run this project in your system

  • Node.js
  • NPM
  • MongoDB

To Setup

Clone or download this repository

  1. cd Course-Management-System/backend
  2. npm install
  3. cd Course-Management-System/frontend
  4. npm install
  5. modify the config.js in src to the backend server url

To Run

To run node server

  1. cd Course-Management-System/backend
  2. nodemon server.js

To run react frontend

  1. cd Course-Management-System/frontend
  2. npm start

Overview

This is a course management system(CMS) with real time Albert courses data, you can add,delete,view RateMyProfessor easily through CMS. Your course data will store in MongoDB and can be viewed everywhere at anytime.

Data Model

The application will store Users, and Courses

  • users can have multiple Courses in dashboard
  • each course can have multiple infomation

User:

{
    userSchema = new mongoose.Schema({
        username: {type: String, required: true},
        password: {type: String},
        courses:  [{ type: mongoose.Schema.Types.ObjectId, ref: 'course' }],
    });
}

Course:

{
    courseSchema = new mongoose.Schema({
        name:{type: String},
        deptCourseId: {type: String},
        description: {type: String},
        subjectCode: {
            code: {type: String},
            school: {type: String}
        },
        rmpUrl:{type: String},
        registrationNumber: {type: Number},
        code: {type: String},
        instructors: [],
        type: {type: String},
        status: {type: String},
        time: {type: String},
        recitations: [],
        waitlistTotal: {type: Number},
        instructionMode: {type: String},
        campus: {type: String},
        minUnits: {type: Number},
        maxUnits: {type: Number},
        grading: {type: String},
        location: {type: String},
        notes: {type: String},
        prerequisites: {type: String},
        subject:{type: String},
        school:{type: String},
        ID:{type: String}
    });
}

Link to Commented First Draft Schema

Wireframes

/ - dashboard - page for showing added courses

list

/shop/school - page for showing schools

list

/shop/subject - page for showing subjects

list

/shop/course - page for showing courses

list

User Stories or Use Cases

  1. as non-registered user, I can register a new account with the site
  2. as a user, I can log in to the site
  3. as a user, I can open my personal dashboard
  4. as a user, I can view and search all courese in the course shop
  5. as a user, I can add courses to my dashboard
  6. as a user, I can deleted courses from my dashboard

Link to Initial Main Project File

Annotations / References Used

https://github.com/FSojitra - MERN-Stack

course-management-system's People

Contributors

jiawei-zhang-a avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.