The i-on ClassCode provides a system for creating and managing GitHub repositories in an academic context, providing a set of tools for both students and teachers, in order to improve efficacy and convenience.
The i-on initiative aims in systems open source software for academic purposes.
The repository is organized as follows:
- code/ : Source code to all the components of the project
- docs/ : Project documentation, namely images, diagrams and reports.
- Associate a GitHub repository to a Course
- Create Classrooms, included in a Course
- Invite Codes to Students to join a Classroom
- Create Assignments, included in a Classroom
- Create Teams associated with an Assignment
- Create a GitHub repository and a GitHub Team for each Assignment Team
- Define a set o rules for the teams
- Define various Deliveries for an Assignment, with tag control and deadline
- Check for each Delivery, the Teams that have delivered and the ones that have not
- Post feedback to the Teams, based on labels
- Accept other GitHub users to join as Teachers
The deployment of the i-on ClassCode system is done using GCP (Google Cloud Platform) and Docker, and is available here.
Using the GCP Compute Engine, a virtual machine is created, to which the Docker Compose file is deployed. The Docker Compose file contains the images of the i-on ClassCode system, namely the frontend and n instances of the backend server. In order to access the system, the GCP Firewall is configured to allow access to the ports 80 and 443, and the definition of a static IP address is done.
The database is deployed using the GCP Cloud SQL, which is a managed database service for PostgreSQL. The database is configured to allow access from the GCP Compute Engine.
There was a definition of a domain name (i-on.live), which is associated with the static IP address of the GCP Compute Engine, and a SSL certificate was created using the Name.com service.
The deployment of the mobile application is done using the apk file generated by the Android Studio, and the installation of the application is done using the blob storage of the GCP Cloud Storage.
To install and set up the i-on ClassCode system, follow the steps below:
- Clone the repository:
git clone https://github.com/i-on-project/repohouse.git
-
Set up the environment variables:
-
Set up the database:
- ensure that the database is running, with the tables and triggers created.
- check the sql directory for the database scripts.
-
Run the backend server:
cd code/jvm
./gradlew bootRun
- Install the frontend dependencies:
cd code/js
npm install
- Run the frontend server:
npm start
- You're all set! The i-on ClassCode system is now installed and ready to use.
Note: Make sure you have Node.js and npm installed on your machine before proceeding with the installation.
Enjoy using i-on ClassCode to enhance your academic repository management experience!
To install and set up the i-on ClassCode mobile application, follow the steps below:
- Clone the repository:
git clone
-
Set up the environment variables:
- check the android README for more information.
-
Install the application on your device:
./gradlew installDebug
You're all set! The i-on ClassCode mobile application is now installed and ready to use.
Note: Make sure you have the Android SDK installed on your machine before proceeding with the installation and the Web and JVM Application running.
This project is licensed under the Apache License 2.0 — see the LICENSE file for details.
This project is currently released in classcode.i-on.live.