Skip to content

Latest commit

 

History

History
108 lines (80 loc) · 5.08 KB

README.md

File metadata and controls

108 lines (80 loc) · 5.08 KB

Header Name

Evidential

Evidential is an app to help researchers analyze and rate the arguments made within texts for various claims those texts attempt to support. A slightly more robust summary is taken from the splash page:

Evidential is here to help researchers understand and analyze written works—books, journal articles, essays, opinion pieces—whatever type of text that makes a claim and then tries to back it up with additional arguments (evidence).

The purpose is to create a space to collaboratively rate the arguments against the claims in a text, building a body of metadata to profile how much a text covers a particular claim and its arguments, as well as how effectively it covers those things.

Features

  1. Users: Signup, login, logout, password protected edit and (soft) delete, track change history of all things except user and text.
  2. Texts: View, upload, and limited edit/delete (only user who uploads and only until first analysis has been ran, after which text will be locked)
  3. Claims: View (Upcoming: add, edit, assign to texts [analyze])
  4. Arguments: View (Upcoming: add, edit, assign to claims)
  5. Hit Keys: View (Upcoming: add, edit, assign to claims)
  6. Ratings: (Upcoming: view, add, edit)
  7. Profile: (Upcoming: statistics based off ratings and text/claim combos)

Local Installation of the App

For those interested in development and testing purposes, follow these step-by-step guidelines to run the app locally.

Prerequisites

To run this application locally you will need Git, node.js (and its package manager that comes with it, npm), python 3.9, and a PostgreSQL database.

Installing

# Clone this repository
$ git clone https://github.com/scottgit/evidential.git
  1. Create a database named evidential_dev and an owner named evidential_app with a password
  2. Create .env file at the root of this project, add environment variables provided in .env.example to .env file (make sure the database URL is set correctly)
  3. Create a second .env file under the react-app directory with the needed REACT_APP_TINY_API key set to your api key from https://www.tiny.cloud/.
# At the root of the repository, install backend dependencies
$ pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt

# Still at root, open up the virtual environment shell, migrate and upgrade database tables and seed data.
$ pipenv shell
$ flask db migrate
$ flask db upgrade
$ flask seed all

# Change into the react-app directory, install frontend dependencies
$ npm install

Running Application

# Inside the react-app directory, start the frontend server
$ npm start

# Change to the root directory and start the backend server

# If you are still inside your virtual environment shell, then just do...
$ flask run
# Otherwise, if you exited the shell, then...
$ pipenv run flask run

The frontend of the application should open up in your browser from localhost:3000, while it is being served on the backend from localhost:5000

Technologies Used

This is not an exhuastive list, but a highlight of some of the main technologies and extra plugins used witihin the app.

Backend

Frontend

Contributing

This repo is currently a student portfolio project, and not likely to be modified. However, if you still think you have a contribution to make, then give it go:

  1. Clone repo $ git clone https://github.com/scottgit/evidential.git
  2. Create a new branch: $ git -b name_of_branch
  3. Make changes
  4. Submit a Pull Request with description of changes for discussion and review

Author