Skip to content

univlorraine/ulep

Repository files navigation

eTandems ULEP

Le projet ULEP porté par l'université de Lorraine a pour objectif de proposer un socle technique open source permettant la mise en oeuvre d'une application web et mobile de service linguistique sous la forme de tandems où chacun peut apprendre la langue de son partenaire.

ULEP est financé en partie par le plan France Relance dans le cadre de l'appel à projets DemoES 2021 Démonstrateurs numériques dans l'enseignement supérieur

ULEP est l'acronyme pour désigner : University Language Exchange Programme. Le principe a pour objectif de pratiquer une langue étrangère avec un natif.

  • Les utilisateurs d'ULEP doivent faire partie d'universités qui sont préalablement configurées dans l'application.
  • Une de ces universités est l'université centrale, c'est elle qui dirige le programme.
  • Les personnes désirant s'inscrire au programme enregistrent leur profil, leurs compétences en langues et leurs souhaits pour les modalités d'échange en tandem.
  • L'algorithme d'ULEP propose des associations d'inscrits par paires, selon les données de chacun et concernant toujours au moins un inscrit de l'université centrale.
  • Quand deux personnes de langue maternelle différente sont appariés, elles s’engagent à se rencontrer régulièrement via l'application ou dans la vie réelle pour échanger dans leur langue et s’épauler dans leur apprentissage.
  • Les deux partenaires linguistiques sont entièrement autonomes : ils choisissent le rythme, le lieu, le contenu et le mode de leurs rencontres.
  • L’objectif est à la fois linguistique et culturel, permettant de s’initier à la culture de l’autre tout en pratiquant des langues étrangères.

Fonctionnalités

L'application est constituée d'une partie back-office en mode web pour tout ce qui concerne le paramétrage des universités partenaires, pour la réalisation des tandems, pour le suivi des signalements. La deuxième partie de l'application se présente sous la forme d'une application mobile pour système Android ou iOS, complétée par une version web pour tout navigateur internet.

Les utilisateurs pourront :

  • S'inscrire en renseignant des données personnelles de profil utilisateur.
  • Faire une demande de tandem en langue, en choisissant des options pour la pédagogie d'apprentissage.
  • Dialoguer par chat, avec son partenaire de tandem, ou via un salon de discussion bilingue.
  • Dialoguer en appel visioconférence avec son partenaire de tandem.
  • Renseigner un journal d'apprentissage, par langue.
  • Créer des listes de vocabulaire et s'entraîner à mémoriser les listes avec un jeu sous forme de flashcards.
  • Consulter et ou créer des fiches d'apprentissage.
  • Lire des actualités en plusieurs langues, proposées par les universités.
  • S'inscrire à des événements proposés par les universités.

Documentation

Consulter notre wiki

Licence

ULEP est sous la licence CeCILL-2.1.

logo-FranceRelance2030 logo-ANR

logo-Academie-Nancy-Metz logo-PleiadesDemoES

logo-UnivLorraine

Getting started

TODO: List prerequisites and provide or point to information on how to start using the project.

Installation

You can use this project with Docker. Simply go to the project directory and run the following commands on your CLI:

docker compose build --pull --no-cache

Note: replace !Changeme! by your own values in docker-compose.yml

If you launch the project locally (i.e. with dev docker-compose.override.yml file), install node_modules for api and admin projects before launching containers:

cd api
pnpm install
cd ../admin
pnpm install

Then, start project:

docker compose up --detach

This will build and run the project on your localhost. You now have access to the following services:

Database initilization.

To initialize database schema, run the migrations:

make migration

To seed database:

make seed

To seed database with random flag:

make seed-random

Keycloak

  1. Setting up Keycloak

Open Keycloak by navigating to http://localhost:8080 in your browser. You'll be redirected to the administration console where you'll log in with the admin user.

Now create a realm. A realm in Keycloak is the equivalent of a tenant. It allows creating isolated spaces where applications, users, roles, and groups exist. From the Master drop-down list, click on Add realm. Give your realm a name and click Create.

Next, create a client. Clients in Keycloak are entities that can request Keycloak to authenticate a user. Go to Clients -> Create, fill in the necessary details, and save.

Note: a realm is available here and integrate base API / admin clients. It should be loaded automatically at start of container.

  1. User and KeycloakGroup Creation

You'll need at least one user to test the authentication. Go to Users -> Add user, provide the details and credentials, and click Save.

You might also need roles, which can be added from Roles -> Add KeycloakGroup. Once created, you can assign roles to a user from the user's detail page.

Note: an "admin" role already exist for backoffice user. It is needed in order to perform actions in backoffice. See repository wiki on more information on how to create and assign role to user.

Development

Migrations

You can generate a new migration from database schema with:

make migration

Additional information

TODO: Tell users more about the project: where to find more information, how to contribute, how to file issues, what response they can expect from the authors, and more.

About

University Language Exchange Programme

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors