Kubernetes
MongoDB
RabbitMQ
NodeJS
TypeScript
Elm
Python

About COW

There are different tools that exist for creating feature rich content and fancy notifications for educational purposes, but most of these tools do not focus on modularity and do not support extendibility by allowing simple component extensions and integration.

As a solution, COW is designed to be a modern courses management system designed to help instructors, students and other parties in mediocre tasks. This project contains multiple tools with the aim of modularity, thus improving extensibility of components.

Main Components

Since COW is a service oriented system, it features an extensible base toolkit for developers and features various built-in tools to ease the manual burdens of its users and demonstrate the power of its modularity mechanisms

Infrastructure

Kubernetes backed, fault-tolerant, easy to use and scale

Infrastructure tooling allows abstractions over Kubernetes, providing extendable and customizable configuration injections, unifies storage and networking configurations. This tool comes built-in with COW's database, message broker and load balancer, allowing easy provisioning and deployments of resources needed to jumpstart a very flexible environment. The underlying Kubernetes orchestration provides easy scaling and fault-tolerant virtualization is available from the start.

CMS Core

The Extensible Core Of COW

Core component is an application framework that allows a highly extensible API for both backend services and web components. It supports injections of different types to highly customize the behaviour of the application. These injections feature different concepts like authentication strategies; enhancements on courses' construction, grading and resource sharing mechanisms; additional applications for different users and notifiers.

Scheduler

Consistent Room and Time Scheduling for Courses and Seminars

This tool allows event scheduling and modification of existing schedules with notifications for collisions using an efficient UI that supports multiple views, draft composing. Furthermore it features a UI for instructors to fill in their busy hours to prevent their personal conflicts.

Syllabus Toolkit

Syllabus Construction and Modification Tool

Service for syllabus import from existing pdf documents by harvesting different sections a syllabus might have like course description and objectives, with UI for modifying content dynamically.

Newsgroup

Efficient Mean of Communication for All

This tool provides an environment in which users can post questions on different categories using tags, +1 and reply to those, with a dynamic interface and different data sources to integrate such as NNTP.

Grading Toolkit

Grading Simplified

The toolkit provides different means for instructors to create, import, export and edit the grades by using different strategies, such as using formulas to update grades and edit grades on a detailed UI.

Documents & Presentations

Administrative documents and demonstration presentations created for varying purposes during progress of the project can be found below.

  • All Categories
  • Retrospective Documents
  • Project Documents
  • Presentations

Featured Screenshots

Take a look and feel on our main components

Our Team

Contact Us

You may contact us using the following means:

+90555332233

Department of Computer Engineering, Middle East Technical University

e2099711@ceng.metu.edu.tr