Skip to content

Commit

Permalink
General improvement of application documentation
Browse files Browse the repository at this point in the history
The documentation of the complete application and its individual components has been improved, making it easier to understand and adapting it to the introduction of new functionalities in VSCode4Teaching version 2.1.3.
  • Loading branch information
diego-guerrero committed Jul 28, 2022
1 parent b049dce commit be291c7
Show file tree
Hide file tree
Showing 55 changed files with 262 additions and 439 deletions.
182 changes: 106 additions & 76 deletions README.md

Large diffs are not rendered by default.

Binary file added readme_resources/InstallExtension.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/NewTeacherLogsIn.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/SharingAddRemoveUsers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/SharingLinkGetCourseCode.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/StudentChecksHelpPage.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/StudentFinishingExercise.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/StudentJoinsCourse.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/TeacherBulkAddsExercises.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/TeacherChangingPassword.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/TeacherCreatesCourse.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/TeacherGeneratesSharingLink.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/TeacherInvitingTeacher.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/TeacherLightDashboard.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/TeacherLogIn.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme_resources/VSCodeSettingsView.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed readme_resources/dashboard.png
Binary file not shown.
Binary file removed readme_resources/diff.gif
Binary file not shown.
Binary file removed readme_resources/finishexercise.gif
Binary file not shown.
Binary file removed readme_resources/liveshare.gif
Binary file not shown.
Binary file removed readme_resources/marketplace_v4t.png
Binary file not shown.
Binary file removed readme_resources/student1.gif
Binary file not shown.
Binary file removed readme_resources/student2.gif
Binary file not shown.
Binary file removed readme_resources/student_finish_exercise.gif
Diff not rendered.
Binary file removed readme_resources/student_gets_course.gif
Diff not rendered.
Binary file removed readme_resources/student_replies_comment.gif
Diff not rendered.
Binary file removed readme_resources/student_signs_up.gif
Diff not rendered.
Binary file removed readme_resources/student_solving_exercise.gif
Diff not rendered.
Binary file removed readme_resources/studentcomment.gif
Diff not rendered.
Binary file removed readme_resources/superuser_teacher_signup.gif
Diff not rendered.
Binary file removed readme_resources/teacher1.gif
Diff not rendered.
Binary file removed readme_resources/teacher2.gif
Diff not rendered.
Binary file removed readme_resources/teacher_checks_progress.gif
Diff not rendered.
Binary file removed readme_resources/teacher_creates_comment.gif
Diff not rendered.
Binary file removed readme_resources/teacher_creates_exercise.gif
Diff not rendered.
Binary file removed readme_resources/teacher_sharing_code.gif
Diff not rendered.
Binary file removed readme_resources/teachercomment.gif
Diff not rendered.
217 changes: 28 additions & 189 deletions vscode4teaching-extension/README.md
Original file line number Diff line number Diff line change
@@ -1,192 +1,31 @@
# VS Code 4 Teaching Extension
# VSCode4Teaching - Extension

## Table of Contents

- [Features](README.md#features)
- [General features](README.md#general-features)
- [Log in](README.md#log-in)
- [Download exercises](README.md#download-exercises)
- [Commenting](README.md#commenting)
- [Student features](README.md#student-features)
- [Sign up](README.md#sign-up)
- [Get course with code](README.md#get-course-with-code)
- [Finish exercise](README.md#finish-exercise)
- [Teacher features](README.md#teacher-features)
- [Add courses](README.md#add-course)
- [Edit course](README.md#edit-course)
- [Delete course](README.md#delete-course)
- [Add exercise](README.md#add-exercise)
- [Edit exercise](README.md#edit-exercise)
- [Delete exercise](README.md#delete-exercise)
- [Share course with code](README.md#share-course-with-code)
- [Add users to course](README.md#add-users-to-course)
- [Remove users from course](README.md#remove-users-from-course)
- [Difference between template and student file](README.md#difference-between-template-and-student-file)
- [Sign up teacher](README.md#sign-up-teacher)
- [Dashboard](README.md#dashboard)
- [LiveShare](README.md#liveshare)
- [Installing](README.md#installing)
- [Development](README.md#development)
- [Prerequisites](README.md#prerequisites)
- [Compiling](README.md#compiling)
- [Running tests](README.md#running-tests)
- [Other options](README.md#other-options)

## Features

VS Code 4 Teaching extension features a new view accessible from the V4T icon in the activity bar.

### General features

#### Log in

You will need to log in to the server first to do anything. Session is stored until it expires or user logs out.
![Login](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/Login.gif)

#### Download exercises

You can get the exercise template or your own files by clicking on an exercise.
For students: editing files will trigger an automatic upload of new changes.
Files in .gitignore will be ignored on automatic uploads.
![Download exercises](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/DownloadExercise.gif)

#### Commenting

Students and teachers can comment on files and respond to comments.
![Commenting](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/readme_resources/studentcomment.gif)

### Student features

### Sign up

You have to sign up if you are a student and already don't have an account.
![Student signing up](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/SignupStudent.gif)

#### Get course with code

Students can get access to a course if they have the sharing code. You will be given this code from a teacher.
![Student gets course with code](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/ShareCourseStudent.gif)

#### Finish exercise

Students can mark their exercises as finished to help the teacher check on their progress. This will make it so any changes to the exercise won't be uploaded.
![Student finishes exercise](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/readme_resources/finishexercise.gif)

### Teacher features

#### Get student files

If you are a teacher, clicking on an exercise will instead download the files of all students so that you can see their progress.
![Get student files](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/GetStudentFiles.gif)

#### Add Course

A teacher can create new courses. Courses contain exercises that can be shared together.
![Add courses](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/AddCourse.gif)

#### Edit course

The creator of a course can edit his/her courses.
![Edit course](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/EditCourse.gif)

#### Delete course

The creator of a course can delete his/her courses.
![Delete course](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/DeleteCourse.gif)

#### Add exercise

The teachers of a course can add exercises to that course. It will ask for a name and files to upload as a template. An exercise i a set of template files that the students will download, making modifications over them. This modifications will be saved as another folder when the teachers download the exercise.
Files in .gitignore will be ignored.
![Add exercise](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/AddExercise.gif)

#### Edit exercise

The teacher of a course can edit the exercises's name.
![Edit exercise](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/EditExercise.gif)

#### Delete exercise

The teacher of a course can delete the exercises.
![Delete exercise](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/DeleteExercise.gif)

#### Share course with code

Teachers can share their courses with a code that students can use to retrieve said course.
![Teacher gets code](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/ShareCourseTeacher.gif)

#### Add users to course

The teachers of a course can also manually add students and teachers to the course. This is the only way to add teachers to a course.
![Add users to course](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/AddUsersCourse.gif)

#### Remove users from course

The teachers of a course can remove students and teachers from a course.
![Remove users from course](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/RemoveUsersCourse.gif)

#### Difference between template and student file

Teachers can get the differences between a template file and its corresponding file in a students exercise.
Beware that the files must be called the same and reside in the same directory for it to work.
![Differences](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/readme_resources/diff.gif)

#### Sign up teacher

Teachers can sign up another teacher in the application.
![Teacher signs up teacher](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/vscode4teaching-extension/doc_images/SignupTeacher.gif)

#### Dashboard

Teachers have a dashboard per exercise to check on their students' progress. They can also open the last modified file by a student as a quick access from dashboard, or see the difference (Diff) between the template and this file. Dashboard will be refreshed automatically every time a change is made by a student.
![Teacher dashboard](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/readme_resources/dashboard.png)

#### Liveshare

Users can start a liveshare session from a dashboard.
![Liveshare](https://github.com/codeurjc-students/2019-VSCode4Teaching/raw/HEAD/readme_resources/liveshare.gif)

## Installing

The best way to install the extension is through the Marketplace in Visual Studio Code.
Go to the Extensions on the left (Ctrl + Shift + X) and search for "VS Code 4 Teaching". It should appear the first on the list, from there you can just click Install to install it.
## Tabla de contenidos
- [Development](#development)
- [Involved technologies](#involved-technologies)
- [Build](#build)
- [Execution](#execution)

## Development

### Prerequisites

- Visual Studio Code: <https://code.visualstudio.com/>
- Node.js: <https://nodejs.org>
- Git: <https://git-scm.com/>

### Compiling

Open the vscode4teaching-extension folder with VS Code and press F5. This will compile and run the extension in a new Extension Development Host window.
For more information about packaging and publishing see <https://code.visualstudio.com/api/working-with-extensions/publishing-extension>

### Running tests

Use the following command to run all tests:
`npm test`

### Other options

You can compile the minified version running:

`npm run vscode:prepublish`

You can compile a build with sourcemaps for easier debugging with:

`npm run build`

You can compile an unbundled version (used mainly in tests) with:

`npm run test-compile`

You can pass a linter with:

`npm run lint`

You can get test coverage with:

`npm run coverage`
The Visual Studio Code extension *VSCode4Teaching* is based on the Node.js platform and acts as a *frontend*, being the component that is installed in the IDE and allows users to use an intuitive and friendly GUI to interact with the backend and thus be able to access all the functionality of the application. Although it is server-independent in terms of code, it is necessary to configure a connection to a VSCode4Teaching server to be able to use the functionality of this extension.

### Involved technologies
The extensions for Visual Studio Code are based on Node.js, the main associated technologies being the following:
- [Visual Studio Code](https://code.visualstudio.com). It is the integrated development environment for which the extension is developed. It is *open source* and is indispensable to be able to execute the extension.
- [Node.js](https://nodejs.org). It is a JavaScript-based applications execution engine.
- [npm](https://www.npmjs.com). It is the dependency manager used by default in Node.js applications.
- [TypeScript](https://www.typescriptlang.org). It is a programming language that compiles to JavaScript and allows using strong typing to implement JavaScript and Node.js applications.

## Build
It is necessary to use Visual Studio Code as IDE to implement and test the extension. Some of the most used commands and functionalities for building the extension are:
- Press ``F5`` to run the extension in a new test window, allowing to debug its operation in the IDE.
- Execute the ``npm run vscode:prepublish`` command to compile a minified version of the extension in VSIX format. Alternatively, you can also compile the extension in the same format by entering the sourcemaps with the ``npm run build`` command.
- To run tests of the extension (based on Jest), the ``npm test`` command can be launched. Information about the test coverage can be obtained with the ``npm run coverage`` command.

## Execution
The extension starts automatically when Visual Studio Code is opened if it is installed. It can be installed in two ways:
- Using the Marketplace, where several versions of the extension are available.
- Building the source code provided as indicated and installing the extension in VSIX format using the "Install from VSIX" option available in the context menu of the Extensions panel.

Once installed, it may be necessary to modify the server and download directory settings. To do this, in the IDE preferences, it is necessary to look for the VSCode4Teaching preferences, which look as follows:
![Extension Settings in Visual Studio Code](../readme_resources/VSCodeSettingsView.png)
Loading

0 comments on commit be291c7

Please sign in to comment.