Giter Club home page Giter Club logo

graasp-app-code-capsule's Introduction

Code Capsule App

All Contributors

This repository hosts the code for a Graasp app that lets users write code reviews, edit and annotate code, alone or in collaboration.

Installation

Running the app

Create a .env.development file with the following content:

VITE_PORT=3005
VITE_API_HOST=http://localhost:3000
VITE_MOCK_API=true
VITE_GRAASP_APP_KEY=45678-677889
VITE_VERSION=latest
# VITE_ENABLE_VERBOSE_MESSAGES=true # comment this out if you want to enable verbose messages

Launch the app with yarn dev.

Running the tests (automatic run on commit with husky)

Create a .env.test file with the following content:

VITE_PORT=3333
VITE_API_HOST=http://localhost:3000
VITE_MOCK_API=true
VITE_GRAASP_APP_KEY=45678-677889
VITE_VERSION=latest
# VITE_ENABLE_VERBOSE_MESSAGES=true # verbose messages will be shown when this is set

# dont open browser
BROWSER=none

Start the tests with yarn test for automatic start of the dev server as well as cypress (similar to the CI run). Or open 2 terminals and execute yarn dev in one and yarn cypress:open in the other. This will open the Cypress GUI app in which you can run individual tests and interact with the app in it's testing environnement.

Documentation

How to bootstrap your app and set every tool you need

Please have a look at the documentation to start your app and setup all necessary tools.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Basile Spaenlehauer
Basile Spaenlehauer

💻 🤔 🔬 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!

graasp-app-code-capsule's People

Contributors

allcontributors[bot] avatar ameertawfik avatar github-actions[bot] avatar gitlocalize-app[bot] avatar juancarlosfarah avatar linayahya avatar morganridel avatar pyphilia avatar reidyt avatar renovate[bot] avatar spaenleh avatar victorggonzalez avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

graasp-app-code-capsule's Issues

Do not reference appSettingId inside other appSetting

When copying an app instance, the settings are copied with it, but the appSetting Ids change.
We use the appSetting Id for files in a setting that lists all files. We should handle our own id inside the data property to be resilient to coping items.

Add code execution

Tasks:

  • Create Header and Footer Code Settings
  • Execute Header + Main + Footer Code on click RUN
  • Save Student code into an AppData -> captured by #23
  • Reload Student code from AppData -> captured by #22
  • Fix tests

allow teacher to export app data

As with app actions, a teacher / admin should be able to export all of the apps data as a JSON.

This should be a simple button that can be pressed.

Change app layout to allow specific modes

App should allow to configure in different mode:

  • Review mode: show a preset code sample to review
  • IDE mode: allow users to create code samples, and edit them
  • Execution mode: use the app as a repl and save the code

Migrate features from code review app

Feature migration:

  • Player view
    • Display code
    • Highlight code
    • Edit code
    • Comment code
    • Diff code -> post-ponned to next PR
  • Admin view
    • Feedback panel
    • Settings
    • Refresh button -> React-query takes care of that, will be also better once there will be web-sockets for apps
    • Preset panel

Update ci/cd workflows

Adapt the workflows so they match the most recent updates carried out in the graasp-deploy repository

Add app actions

Add analytic to the app by submitting app actions when users perform actions.

Update .gitignore

# yarn
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
yarn-error.log*
yarn-debug.log*

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.