Skip to main content

Component Descriptions

A description the different components and their interfaces. See the System Block Diagram for a visualization of how these components interact.

React.js​

A component based web development framework for designing single-page 
progressive web applications. We will use React to construct our front-end.

Django​

A high-level Python web development framework that abstracts many typical 
features such as session authentication and database management. We will use
Django to construct our back-end and act as an ORM for our database.

SQLite​

A light-weight and server-less SQL database engine. We will use SQLite to
store user profile information and related data such as avatar stats and
inventory items.

Django Rest Framework (API)​

A Django API framework that provides tools for creating RESTful APIs. We
will use Django Rest Framework to server a robust and intuitive REST API to
our front-end via URL endpoints, with a focus on constructing single
endpoints that will serve multiple CRUD operations to our SQLite database to
simplify the front-end logic and reduce the number of total API calls.

Server and Static Store​

We will serve each application via a shared Docker container. This Docker
container will live on an in-house Server, using NoDNS as a routing service.
In addition, the Server will act as a store for Static Resources such as pet
animation frames.

Canvas​

An open source online classroom application that is widely used by 
universities. We will use the Canvas API to construct Canvas integration
services and integrate these services with our application.