config | ||
src/main | ||
.gitignore | ||
CONTRIBUTORS.md | ||
LICENSE | ||
nb-configuration.xml | ||
pom.xml | ||
README.md |
AREN (ARgumentation Et Numérique)
The AREN project (in French, ARgumentation Et Numérique ; argumentation and digital) aims to develop a digital platform for online debates that promotes the development of people' argumentative skills and their critical thinking, through a citizenship education perspective. This platform allows the simultaneous participation of a large number of people in a debate, offers time to build arguments and allows to keep track of exchanges, support for reflective work.
The project has two research components :
- A didactic component consists of experimenting with the platform in order to assess its impact and suggest changes.
- An artificial intelligence (AI) component focuses on the automatic processing of natural language and aims to develop and evaluate an AI service for thematic classification of student interventions, facilitating their analysis and the preparation of the reflective synthesis.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Prerequisites
- Java Web server (Test and work on Apache-Tomcat 7.0.80+)
- Maven
- PostgreSQL
Installation
Database
Install and configure PostgreSQL specificaly to your OS, check the documentation, to ensure having a secure and remote accessible database.
Create the user that will manage your database. Repalce [db_user]
and [db_password]
by your own choices.
CREATE USER [db_user] WITH PASSWORD '[db_password]';
Create the database, Replace [db_name]
by your own choice.
CREATE DATABASE [db_name] OWNER [db_user];
Configuration
Download and extracte the sources in the repository of your choice.
Copy the application.properties
file from the config
folder to the src/main/resources
folder.
Fill the empty properties, the documentation is in the file itself.
Copy the persistence.xml
file from the config
forlder to the src/main/resources/META-INF
folder.
Fill the following line with the db_user
, db_password
and db_name
previously set.
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/db_name"/>
<property name="hibernate.connection.username" value="db_user"/>
<property name="hibernate.connection.password" value="db_password"/>
Build
Go to the source folder and run mvn clean install
.
A target
folder is then created with the aren.war
file inside.
Deployement
Rename the aren.war
file to ROOT.war
then copy it into the Java WebSever of your choice [Tomcat 7 tested and functional].
If you do not want the software to run at the root of your serveur, you'll need to change the path
variable of the context.xml
file according to the name of your war
file
First launch
Go in your webserver folder, in the application folder.
Edit the persistence.xml
in the WEB-INF/classes/META-INF
folder.
Uncomment the two following lines to allow the application to build the whole database.
<!--property name="hibernate.hbm2ddl.auto" value="drop-and-create"/-->
<!--property name="hibernate.hbm2ddl.import_files" value="META-INF/init.sql"/-->
Restart your webserver.
Uncomment the line
<property name="hibernate.hbm2ddl.auto" value="update"/>
! WARNING ! To avoid any data loss yous have to re-comment those previous lines. Otherwise the full database will be rebuilt at every restart of the application !
API super-admin credentials
The default credentials for the super-admin are admin:password Those can be easily change throught the web interface or with an API call.
Documentation
The web interface is shiped with an useful help button. Use it if you have any issues.
The REST API documentation can be found here.
You can access the openapi desc directly through the application with the url /ws/openapi.[json|yaml]
Running the tests
@TODO
Built With
- Maven - Dependency Management
- Vue.js - Web framework used
- Vue-i18n - Internationalization tool for Vue.js
- Vue-router - Single Page Website tool for Vue.js
- http-vue-loader - Async .vue file loading for Vue.js
- Materialize - CSS framwork used
- D3.js - Visualization tool
Contributing
@TODO
Versioning
We use SemVer for versioning.
Authors
- Noémie-Fleur Sandillon-Rezer - Initial work, full-stack of v1.0.0 - noemie-fleur.sandillon-rezer@lirmm.fr
- Florent Descroix - Complete rework, full stack since v3.0.0 - florent.descroix@lirmm.fr
See also the list of CONTRIBUTORS who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details