{"id":17300018,"url":"https://github.com/pablofuente/full-teaching","last_synced_at":"2025-06-22T07:34:18.739Z","repository":{"id":75885276,"uuid":"64778645","full_name":"pabloFuente/full-teaching","owner":"pabloFuente","description":"A web application to make teaching online easy. WARNING: the updated version of this repo is now in the link below","archived":false,"fork":false,"pushed_at":"2018-05-11T11:54:30.000Z","size":4806,"stargazers_count":34,"open_issues_count":3,"forks_count":23,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-14T11:45:02.350Z","etag":null,"topics":["chat","classroom","openvidu","students","teachers","teaching","video","webrtc","websocket"],"latest_commit_sha":null,"homepage":"https://github.com/OpenVidu/full-teaching","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pabloFuente.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-02T17:41:55.000Z","updated_at":"2024-11-02T04:41:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"db810637-bc2d-4dd1-9c1f-b095da01b88b","html_url":"https://github.com/pabloFuente/full-teaching","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/pabloFuente/full-teaching","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pabloFuente%2Ffull-teaching","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pabloFuente%2Ffull-teaching/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pabloFuente%2Ffull-teaching/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pabloFuente%2Ffull-teaching/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pabloFuente","download_url":"https://codeload.github.com/pabloFuente/full-teaching/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pabloFuente%2Ffull-teaching/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261255849,"owners_count":23131474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat","classroom","openvidu","students","teachers","teaching","video","webrtc","websocket"],"created_at":"2024-10-15T11:25:10.293Z","updated_at":"2025-06-22T07:34:13.726Z","avatar_url":"https://github.com/pabloFuente.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FullTeaching\n\n[![Build Status](https://travis-ci.org/pabloFuente/full-teaching.png?branch=master)](https://travis-ci.org/pabloFuente/full-teaching)\n\n---\n\n\u003e WARNING: the updated version of this repo is now here [OpenVidu/full-teaching](https://github.com/OpenVidu/full-teaching)\n\n---\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/pabloFuente/full-teaching/blob/master/ReadmeImages/presentation.png?raw=true\"/\u003e\u003c/p\u003e\n\n\n## What is FullTeaching?\nFullTeaching is an educational web application to make online classes easy for teachers as well as students. Its current main features are the following:\n\n- Teachers can create all the **courses** they want and easily invite their students. Every user will see their courses and sessions well ordered on their dashboards.\n\n- Teachers can stablish an unlimited number of **classes** for each course, indicating the content and date for each one of them.\n\n- A **calendar** view is provided in order to check all your classes at a glance.\n\n- Every course has a **forum** where the users can open entries, write comments and reply others so they can share doubts and knowledge.\n\n- Teachers have an advanced system for attaching **files** to a course. They can customize groups of files, name them as they want and reorder them at any moment. The uploading process has been greatly simplified.\n\n*Dashboard: all your courses and your calendar*\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/pabloFuente/full-teaching/blob/master/ReadmeImages/dashboard.png?raw=true\"/\u003e\u003c/p\u003e\n\n*Calendar: here you have all your sessions, with direct access to their specific course*\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/pabloFuente/full-teaching/blob/master/ReadmeImages/calendar.png?raw=true\"/\u003e\u003c/p\u003e\n\n*Classes: ordered by date, teachers can easily add new ones and modify existing ones*\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/pabloFuente/full-teaching/blob/master/ReadmeImages/sessions.png?raw=true\"/\u003e\u003c/p\u003e\n\n*Forum: unlimited entries for posting all your questions*\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/pabloFuente/full-teaching/blob/master/ReadmeImages/forum.png?raw=true\"/\u003e\u003c/p\u003e\n\n*Files: advanced tree structure to keep all the course's files clear and tidy*\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/pabloFuente/full-teaching/blob/master/ReadmeImages/files.png?raw=true\"/\u003e\u003c/p\u003e\n\n*Adding students to the course is as simple as pasting their emails. FullTeaching will automatically do the rest*\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/pabloFuente/full-teaching/blob/master/ReadmeImages/addattedners.png?raw=true\"/\u003e\u003c/p\u003e\n\n# Quick start guide\n\n## How to execute a demo FullTeaching service (Docker)\n\nTo get FullTeaching working in the easiest way, you just have to download the file above `docker-compose.yml` and run `docker-compose up` in its directory. This will pull all the necessary images from DockerHub and will execute everything (it will take one minute after the pull ends). Go to `http://localhost:5000/` and there you have it!\n\nYou will need some user data to test the features. These are the default users for the demo:\n- Email: `teacher@gmail.com`   Pass: `pass`  (Teacher account)\n- Email: `student1@gmail.com`  Pass: `pass`  (Student account) \n- Email: `student2@gmail.com`  Pass: `pass`  (Student account)\n\n\n## How to develop FullTeaching\n\nTo get a full development version of the app just execute the following commands:\n\n\n### Prerequisites\n\n  - **Java 8**\n\n    *Check version*:\n\n        $ java -version\n\n     *Install*:\n\n        $ sudo add-apt-repository ppa:webupd8team/java\n        $ sudo apt-get update\n        $ sudo apt-get install oracle-java8-installer\n\n  - **Angular-cli** ( which requires  Node.js \u003e 4.x.x  and  npm \u003e 3.x.x )\n\n    *Check versions*:\n\n        $ node -v\n        $ npm -v\n        $ ng --version\n\n     *Install*:\n\n        $ sudo apt-get install nodejs\n        $ sudo apt-get install npm\n        $ npm install -g angular-cli\n\n  - **Maven**\n\n    *Check version*:\n\n        $ mvn -v\n\n    *Install*:\n\n        $ sudo apt-get install maven\n\n  - **MySQL**\n\n    *Check version*:\n\n        $ mysql --version\n\n    *Install*:\n\n        $ sudo apt-get update\n        $ sudo apt-get install mysql-server\n        $ sudo mysql_secure_installation\n\n### Installation and execution\n\n  First of all, it is necessary to create a schema for MySQL:\n\n        $ mysql -u root -p\n        $ CREATE DATABASE full_teaching;\n        $ exit\n\n  Then we can build and run the project:\n\n        $ git clone https://github.com/pabloFuente/full-teaching.git\n        $ cd ./full-teaching/angular-cli-project/\n        $ npm install\n        $ cd ../\n        $ ./BuildFrontJarAndRun.sh\n\nThis clones the project in your working directory, installs dependencies with `npm install` and executes the `BuildFrontJarAndRun.sh` script.\n\nThe script `BuildFrontJarAndRun.sh` builds the FrontEnd with angular-cli, copies all generated files to the Backend `static` folder, builds and generates the jar with maven and runs the jar file.\n\nGo to `http://localhost:5000/` and there you have it! Every time you modify the Front or Back, you can just execute `BuildFrontJarAndRun.sh` and all the changes will be applied.\n\n\n### :heavy_exclamation_mark: **IMPORTANT**:\n\n  - Before executing the script to build and run the app, it is necessary to change the following properties of `application.properties` file to match your credentials for MySQL:\n\n        spring.datasource.username=YOUR_USERNAME\n        spring.datasource.password=YOUR_PASS\n\n  - You may have to change permissions in order to execute the scripts.\n\n*These instructions have been tested for Ubuntu 14.04*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablofuente%2Ffull-teaching","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpablofuente%2Ffull-teaching","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablofuente%2Ffull-teaching/lists"}