# AutomatedEssayGrading
A shared codespace for the Automated Essay Grading Project.
## Table of Contents
- <a href="#dependencies">Dependencies</a>
- <a href="#start">Getting Started</a>
- <a href="#database">Database</a>

-----------------------------------------------------------------------

<h2>Dependencies</h2>
<a id="dependencies" href="https://www.python.org/"> Python </a>

Download and install Python. 
If you have created a PATH System variable for your python interpreter, create a virtual environment using the following command:

```
python -m venv [name_of_virtual_environment]
```

This is highly recommended in order to avoid potential conflicts when working on multiple projects. 

<a href="https://docs.python.org/3/library/venv.html" >Creating a virtual environment with Python</a>

<a href="https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html">Creating a virtual environment with Conda (Needed for Apple Silicon Macs) </a>

After you have created your virtual environment, activate or deactivate your virtual environment with the following commands:
```
Python:
[Path to activate file]\activate
[Path to deactivate file]\deactivate

Conda:
conda activate [environment name]
conda deactivate
```

<i> To install all required Python packages: </i>

```
cd code
cd server
pip install -r requirements.txt
```


<a href= "https://nodejs.org/en/" > NodeJS </a>

To install required node modules, run the following command: 
```
cd code
cd frontend
npm i
```

<a href="https://spacy.io/"> spaCy Model </a>
```
python -m spacy download en_core_web_lg
```

<br>



<h2 id ="start">Getting started</h2>

To run the program in the browser and run the following commands in the Code directory: 
```
cd server
python server.py
```
Then in a separate terminal, run the following commands in the Code directory:
```
cd frontend
npm start
```
Then, navigate to `localhost:3000` in the browser.

For additional help, please view the Installation/Maintenance guide.

<br>


<h2>Database</h2>

For testing, it is recommended that you install MongoSH and follow the documentation on the MongoDB website for making connections to existing applications. For a guide on how to work with the existing database, locate the README.md file in the server/database directory.
