Added all files

parent a3f2cb7f
FROM continuumio/miniconda3
ADD Softlab.yml /tmp/Softlab.yml
RUN conda config --set ssl_verify no
RUN conda env create -f /tmp/Softlab.yml
RUN echo "source activate $(head -1 /tmp/Softlab.yml | cut -d' ' -f2)" > ~/.bashrc
ENV PATH /opt/conda/envs/$(head -1 /tmp/Softlab.yml | cut -d' ' -f2)/bin:$PATH
# Create app directory
WORKDIR /usr/src/app
COPY . .
EXPOSE 8000
CMD [ "python3", "main.py" ]
\ No newline at end of file
web: PORT=$PORT python3 main.py
name: Softlab
channels:
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- ca-certificates=2019.10.16=0
- certifi=2019.9.11=py37_0
- libedit=3.1.20181209=hc058e9b_0
- libffi=3.2.1=hd88cf55_4
- libgcc-ng=9.1.0=hdf63c60_0
- libstdcxx-ng=9.1.0=hdf63c60_0
- ncurses=6.1=he6710b0_1
- openssl=1.1.1d=h7b6447c_3
- pip=19.3.1=py37_0
- python=3.7.4=h265db76_1
- readline=7.0=h7b6447c_5
- setuptools=41.4.0=py37_0
- sqlite=3.30.1=h7b6447c_0
- tk=8.6.8=hbc83047_0
- wheel=0.33.6=py37_0
- xz=5.2.4=h14c3975_4
- zlib=1.2.11=h7b6447c_3
- pip:
- absl-py==0.8.1
- astor==0.8.0
- boto==2.49.0
- boto3==1.10.4
- botocore==1.13.4
- cachetools==3.1.1
- chardet==3.0.4
- click==7.0
- docutils==0.15.2
- gast==0.2.2
- gensim==3.8.1
- google-auth==1.6.3
- google-pasta==0.1.7
- grpcio==1.24.3
- h11==0.8.1
- h5py==2.10.0
- httptools==0.0.13
- idna==2.8
- jinja2==2.10.3
- jmespath==0.9.4
- keras-applications==1.0.8
- keras-preprocessing==1.1.0
- markdown==3.1.1
- markupsafe==1.1.1
- nltk==3.4.5
- numpy==1.17.3
- opt-einsum==3.1.0
- protobuf==3.10.0
- pyasn1==0.4.7
- pyasn1-modules==0.2.7
- python-dateutil==2.8.0
- python-multipart==0.0.5
- requests==2.22.0
- rsa==4.0
- s3transfer==0.2.1
- scipy==1.3.1
- six==1.12.0
- smart-open==1.8.4
- starlette==0.12.10
- tensorboard==2.0.0
- tensorflow==2.0.0
- tensorflow-estimator==2.0.1
- termcolor==1.1.0
- urllib3==1.25.6
- uvicorn==0.9.1
- uvloop==0.13.0
- websockets==8.0.2
- werkzeug==0.16.0
- wrapt==1.11.2
prefix: /home/shreyansh/.conda/envs/Softlab
#Create a conda environment
conda create --name <environment-name> python=<version:2.7/3.5>
#To create a requirements.txt file:
conda list #Gives you list of packages used for the environment
conda list -e > requirements.txt #Save all the info about packages to your folder
#To export environment file
activate <environment-name>
conda env export > <environment-name>.yml
#For other person to use the environment
conda env create -f <environment-name>.yml
\ No newline at end of file
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 2564c8c5bbd87917580303e74f835aa6
tags: 645f666f9bcd5a90fca523b33c5a78b7
Android application
===================
This is the documentation for android application
``Login``
.. figure:: images/9.jpeg
:height: 600px
:width: 300 px
``Register``
.. figure:: images/11.jpeg
:height: 600px
:width: 300 px
``Evaluate``
.. figure:: images/12.jpeg
:height: 600px
:width: 300 px
``Score``
.. figure:: images/13.jpeg
:height: 600px
:width: 300 px
``Contribute``
.. figure:: images/10.jpeg
:height: 600px
:width: 300 px
\ No newline at end of file
.. Automated Essay Grader documentation master file, created by
sphinx-quickstart on Wed Nov 27 01:05:04 2019.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Automated Essay Grader's documentation!
==================================================
Automated Essay Grader is essentially a usable wrapper for using machine learning models based on Essay grading. Our project runs on ``Starlette server`` hosted on ``Heroku cloud`` with a noSQL database hosted on ``Firebase``. Using ``MVC architecture`` we have created a web interface powered by ``Bootstrap 4.0``. Our project also has a fully featured ``Android`` interface.
To check a live web demo `Check out <https://codigos.herokuapp.com/>`_
Project environment setup
+++++++++++++++++++++++++
To start the project you first need to install all dependencies:
>>> pip install requirements.txt
After we have all the requirements set up, we will now create an environment
>>> conda env create -f Softlab.yml
After the environment is set up you can initialize the environment somehow
>>> conda activate Softlab
Yes that was it!! Now simply start the system by typing
>>> python3 main.py
Deployment steps using Docker
+++++++++++++++++++++++++++++
1) You can simply build the the image file by running following in the directory where Dockerfile is present
>>> docker build --tag essay-grader .
>>> docker run --name essay-grader -p 8000:8000 essay-grader
Checkout some code now
++++++++++++++++++++++
.. toctree::
:maxdepth: 3
:caption: Back end:
main
prediction
.. toctree::
:maxdepth: 3
:caption: Front end:
web
android
Indices and tables
++++++++++++++++++
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
MVC architecture connections
============================
This is a short description of the code belonging to the plumbing between frontend and backend
The code in this file is mainly plumbing between the frontend and ML backend. It consists of routes which map to the browser url. We use the MVC architechture where we code the controller and modals. View manager in our code is Jinga2vec
.. automodule:: main
:members:
:undoc-members:
Automated essay grader model
============================
Here we have a very short description of the module prediction part of the parent project Automated essay grader model.
This is an efcient wrapper around a automated essay grading system
.. automodule:: prediction
:members:
:undoc-members:
Web views
=========
This is the documentation for the web front end portal
``Login.html``
.. figure:: images/5.jpeg
``Register.html``
.. figure:: images/6.jpeg
``Index.html``
.. figure:: images/2.jpeg
``Score.html``
.. figure:: images/1.jpeg
``Contribute.html``
.. figure:: images/3.jpeg
``Thanks.html``
.. figure:: images/4.jpeg
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
/* This file intentionally left blank. */
/*
* doctools.js
* ~~~~~~~~~~~
*
* Sphinx JavaScript utilities for all documentation.
*
* :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
/**
* select a different prefix for underscore
*/
$u = _.noConflict();
/**
* make the code below compatible with browsers without
* an installed firebug like debugger
if (!window.console || !console.firebug) {
var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
"dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
"profile", "profileEnd"];
window.console = {};
for (var i = 0; i < names.length; ++i)
window.console[names[i]] = function() {};
}
*/
/**
* small helper function to urldecode strings
*/
jQuery.urldecode = function(x) {
return decodeURIComponent(x).replace(/\+/g, ' ');
};
/**
* small helper function to urlencode strings
*/
jQuery.urlencode = encodeURIComponent;
/**
* This function returns the parsed url parameters of the
* current request. Multiple values per key are supported,
* it will always return arrays of strings for the value parts.
*/
jQuery.getQueryParameters = function(s) {
if (typeof s === 'undefined')
s = document.location.search;
var parts = s.substr(s.indexOf('?') + 1).split('&');
var result = {};
for (var i = 0; i < parts.length; i++) {
var tmp = parts[i].split('=', 2);
var key = jQuery.urldecode(tmp[0]);
var value = jQuery.urldecode(tmp[1]);
if (key in result)
result[key].push(value);
else
result[key] = [value];
}
return result;
};
/**
* highlight a given string on a jquery object by wrapping it in
* span elements with the given class name.
*/
jQuery.fn.highlightText = function(text, className) {
function highlight(node, addItems) {
if (node.nodeType === 3) {
var val = node.nodeValue;
var pos = val.toLowerCase().indexOf(text);
if (pos >= 0 &&
!jQuery(node.parentNode).hasClass(className) &&
!jQuery(node.parentNode).hasClass("nohighlight")) {
var span;
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
if (isInSVG) {
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
} else {
span = document.createElement("span");
span.className = className;
}
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
document.createTextNode(val.substr(pos + text.length)),
node.nextSibling));
node.nodeValue = val.substr(0, pos);
if (isInSVG) {
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
var bbox = node.parentElement.getBBox();
rect.x.baseVal.value = bbox.x;
rect.y.baseVal.value = bbox.y;
rect.width.baseVal.value = bbox.width;
rect.height.baseVal.value = bbox.height;
rect.setAttribute('class', className);
addItems.push({
"parent": node.parentNode,
"target": rect});
}
}
}
else if (!jQuery(node).is("button, select, textarea")) {
jQuery.each(node.childNodes, function() {
highlight(this, addItems);
});
}
}
var addItems = [];
var result = this.each(function() {
highlight(this, addItems);
});
for (var i = 0; i < addItems.length; ++i) {
jQuery(addItems[i].parent).before(addItems[i].target);
}
return result;
};
/*
* backward compatibility for jQuery.browser
* This will be supported until firefox bug is fixed.
*/
if (!jQuery.browser) {
jQuery.uaMatch = function(ua) {
ua = ua.toLowerCase();
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
/(msie) ([\w.]+)/.exec(ua) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
[];
return {
browser: match[ 1 ] || "",
version: match[ 2 ] || "0"
};
};
jQuery.browser = {};
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
}
/**
* Small JavaScript module for the documentation.
*/
var Documentation = {
init : function() {
this.fixFirefoxAnchorBug();
this.highlightSearchWords();
this.initIndexTable();
if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
this.initOnKeyListeners();
}
},
/**
* i18n support
*/
TRANSLATIONS : {},
PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
LOCALE : 'unknown',
// gettext and ngettext don't access this so that the functions
// can safely bound to a different name (_ = Documentation.gettext)
gettext : function(string) {
var translated = Documentation.TRANSLATIONS[string];
if (typeof translated === 'undefined')
return string;
return (typeof translated === 'string') ? translated : translated[0];
},
ngettext : function(singular, plural, n) {
var translated = Documentation.TRANSLATIONS[singular];
if (typeof translated === 'undefined')
return (n == 1) ? singular : plural;
return translated[Documentation.PLURALEXPR(n)];
},
addTranslations : function(catalog) {
for (var key in catalog.messages)
this.TRANSLATIONS[key] = catalog.messages[key];
this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
this.LOCALE = catalog.locale;
},
/**
* add context elements like header anchor links
*/
addContextElements : function() {
$('div[id] > :header:first').each(function() {
$('<a class="headerlink">\u00B6</a>').
attr('href', '#' + this.id).
attr('title', _('Permalink to this headline')).
appendTo(this);
});
$('dt[id]').each(function() {
$('<a class="headerlink">\u00B6</a>').
attr('href', '#' + this.id).
attr('title', _('Permalink to this definition')).
appendTo(this);
});
},
/**
* workaround a firefox stupidity
* see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
*/
fixFirefoxAnchorBug : function() {
if (document.location.hash && $.browser.mozilla)
window.setTimeout(function() {
document.location.href += '';
}, 10);
},
/**
* highlight the search words provided in the url in the text
*/
highlightSearchWords : function() {
var params = $.getQueryParameters();
var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
if (terms.length) {
var body = $('div.body');
if (!body.length) {
body = $('body');
}
window.setTimeout(function() {
$.each(terms, function() {
body.highlightText(this.toLowerCase(), 'highlighted');
});
}, 10);
$('<p class="highlight-link"><a href="javascript:Documentation.' +
'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
.appendTo($('#searchbox'));
}
},
/**
* init the domain index toggle buttons
*/
initIndexTable : function() {
var togglers = $('img.toggler').click(function() {
var src = $(this).attr('src');
var idnum = $(this).attr('id').substr(7);
$('tr.cg-' + idnum).toggle();
if (src.substr(-9) === 'minus.png')
$(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
else
$(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
}).css('display', '');
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
togglers.click();
}
},
/**
* helper function to hide the search marks again
*/
hideSearchWords : function() {
$('#searchbox .highlight-link').fadeOut(300);
$('span.highlighted').removeClass('highlighted');
},
/**
* make the url absolute
*/
makeURL : function(relativeURL) {
return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
},
/**
* get the current relative url
*/
getCurrentURL : function() {
var path = document.location.pathname;
var parts = path.split(/\//);
$.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
if (this === '..')
parts.pop();
});
var url = parts.join('/');
return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
},
initOnKeyListeners: function() {
$(document).keyup(function(event) {
var activeElementType = document.activeElement.tagName;
// don't navigate when in search box or textarea
if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
switch (event.keyCode) {
case 37: // left
var prevHref = $('link[rel="prev"]').prop('href');
if (prevHref) {
window.location.href = prevHref;
return false;
}
case 39: // right
var nextHref = $('link[rel="next"]').prop('href');
if (nextHref) {
window.location.href = nextHref;
return false;
}
}
}
});
}
};
// quick alias for translations
_ = Documentation.gettext;
$(document).ready(function() {
Documentation.init();
});
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '',
LANGUAGE: 'None',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt',
NAVIGATION_WITH_KEYS: false
};
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #8f5902; font-style: italic } /* Comment */
.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
.highlight .g { color: #000000 } /* Generic */
.highlight .k { color: #004461; font-weight: bold } /* Keyword */
.highlight .l { color: #000000 } /* Literal */
.highlight .n { color: #000000 } /* Name */
.highlight .o { color: #582800 } /* Operator */
.highlight .x { color: #000000 } /* Other */
.highlight .p { color: #000000; font-weight: bold } /* Punctuation */
.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #8f5902 } /* Comment.Preproc */
.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */
.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */
.highlight .gd { color: #a40000 } /* Generic.Deleted */
.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */
.highlight .gr { color: #ef2929 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #745334 } /* Generic.Prompt */
.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
.highlight .kc { color: #004461; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #004461; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #004461; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #004461; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #004461; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #004461; font-weight: bold } /* Keyword.Type */
.highlight .ld { color: #000000 } /* Literal.Date */
.highlight .m { color: #990000 } /* Literal.Number */
.highlight .s { color: #4e9a06 } /* Literal.String */
.highlight .na { color: #c4a000 } /* Name.Attribute */
.highlight .nb { color: #004461 } /* Name.Builtin */
.highlight .nc { color: #000000 } /* Name.Class */
.highlight .no { color: #000000 } /* Name.Constant */
.highlight .nd { color: #888888 } /* Name.Decorator */
.highlight .ni { color: #ce5c00 } /* Name.Entity */
.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #000000 } /* Name.Function */
.highlight .nl { color: #f57900 } /* Name.Label */
.highlight .nn { color: #000000 } /* Name.Namespace */
.highlight .nx { color: #000000 } /* Name.Other */
.highlight .py { color: #000000 } /* Name.Property */
.highlight .nt { color: #004461; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #000000 } /* Name.Variable */
.highlight .ow { color: #004461; font-weight: bold } /* Operator.Word */
.highlight .w { color: #f8f8f8; text-decoration: underline } /* Text.Whitespace */
.highlight .mb { color: #990000 } /* Literal.Number.Bin */
.highlight .mf { color: #990000 } /* Literal.Number.Float */
.highlight .mh { color: #990000 } /* Literal.Number.Hex */
.highlight .mi { color: #990000 } /* Literal.Number.Integer */
.highlight .mo { color: #990000 } /* Literal.Number.Oct */
.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */
.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */
.highlight .sc { color: #4e9a06 } /* Literal.String.Char */
.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */
.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */
.highlight .se { color: #4e9a06 } /* Literal.String.Escape */
.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */
.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */
.highlight .sx { color: #4e9a06 } /* Literal.String.Other */
.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */
.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */
.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */
.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #000000 } /* Name.Function.Magic */
.highlight .vc { color: #000000 } /* Name.Variable.Class */
.highlight .vg { color: #000000 } /* Name.Variable.Global */
.highlight .vi { color: #000000 } /* Name.Variable.Instance */
.highlight .vm { color: #000000 } /* Name.Variable.Magic */
.highlight .il { color: #990000 } /* Literal.Number.Integer.Long */
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Android application &#8212; Automated Essay Grader documentation</title>
<link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="prev" title="Web views" href="web.html" />
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="android-application">
<h1>Android application<a class="headerlink" href="#android-application" title="Permalink to this headline"></a></h1>
<p>This is the documentation for android application</p>
<p><code class="docutils literal notranslate"><span class="pre">Login</span></code></p>
<div class="figure align-default">
<a class="reference internal image-reference" href="_images/9.jpeg"><img alt="_images/9.jpeg" src="_images/9.jpeg" style="width: 300px; height: 600px;" /></a>
</div>
<p><code class="docutils literal notranslate"><span class="pre">Register</span></code></p>
<div class="figure align-default">
<a class="reference internal image-reference" href="_images/11.jpeg"><img alt="_images/11.jpeg" src="_images/11.jpeg" style="width: 300px; height: 600px;" /></a>
</div>
<p><code class="docutils literal notranslate"><span class="pre">Evaluate</span></code></p>
<div class="figure align-default">
<a class="reference internal image-reference" href="_images/12.jpeg"><img alt="_images/12.jpeg" src="_images/12.jpeg" style="width: 300px; height: 600px;" /></a>
</div>
<p><code class="docutils literal notranslate"><span class="pre">Score</span></code></p>
<div class="figure align-default">
<a class="reference internal image-reference" href="_images/13.jpeg"><img alt="_images/13.jpeg" src="_images/13.jpeg" style="width: 300px; height: 600px;" /></a>
</div>
<p><code class="docutils literal notranslate"><span class="pre">Contribute</span></code></p>
<div class="figure align-default">
<a class="reference internal image-reference" href="_images/10.jpeg"><img alt="_images/10.jpeg" src="_images/10.jpeg" style="width: 300px; height: 600px;" /></a>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="index.html">Automated Essay Grader</a></h1>
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Back end:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="main.html">MVC architecture connections</a></li>
<li class="toctree-l1"><a class="reference internal" href="prediction.html">Automated essay grader model</a></li>
</ul>
<p class="caption"><span class="caption-text">Front end:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="web.html">Web views</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Android application</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="index.html">Documentation overview</a><ul>
<li>Previous: <a href="web.html" title="previous chapter">Web views</a></li>
</ul></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
&copy;2019, Kartavya, Aditya, Shreyansh.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.2.0</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
<a href="_sources/android.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Index &#8212; Automated Essay Grader documentation</title>
<link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<link rel="index" title="Index" href="#" />
<link rel="search" title="Search" href="search.html" />
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<h1 id="index">Index</h1>
<div class="genindex-jumpbox">
<a href="#C"><strong>C</strong></a>
| <a href="#E"><strong>E</strong></a>
| <a href="#F"><strong>F</strong></a>
| <a href="#G"><strong>G</strong></a>
| <a href="#L"><strong>L</strong></a>
| <a href="#M"><strong>M</strong></a>
| <a href="#P"><strong>P</strong></a>
| <a href="#S"><strong>S</strong></a>
| <a href="#T"><strong>T</strong></a>
</div>
<h2 id="C">C</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="main.html#main.contrbPage">contrbPage() (in module main)</a>
</li>
</ul></td>
</tr></table>
<h2 id="E">E</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="main.html#main.evaluate">evaluate() (in module main)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="main.html#main.evaluateFile">evaluateFile() (in module main)</a>
</li>
</ul></td>
</tr></table>
<h2 id="F">F</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="main.html#main.firebase_login">firebase_login() (in module main)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="main.html#main.firebase_register">firebase_register() (in module main)</a>
</li>
</ul></td>
</tr></table>
<h2 id="G">G</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="prediction.html#prediction.getAvgFeatureVecs">getAvgFeatureVecs() (in module prediction)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="main.html#main.getEssay">getEssay() (in module main)</a>
</li>
</ul></td>
</tr></table>
<h2 id="L">L</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="main.html#main.login">login() (in module main)</a>
</li>
</ul></td>
</tr></table>
<h2 id="M">M</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="main.html#module-main">main (module)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="prediction.html#prediction.makeFeatureVec">makeFeatureVec() (in module prediction)</a>
</li>
</ul></td>
</tr></table>
<h2 id="P">P</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="prediction.html#prediction.predict">predict() (in module prediction)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="prediction.html#module-prediction">prediction (module)</a>
</li>
</ul></td>
</tr></table>
<h2 id="S">S</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="main.html#main.show_index">show_index() (in module main)</a>
</li>
</ul></td>
</tr></table>
<h2 id="T">T</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="prediction.html#prediction.tokenizeEssay">tokenizeEssay() (in module prediction)</a>
</li>
</ul></td>
</tr></table>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="index.html">Automated Essay Grader</a></h1>
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Back end:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="main.html">MVC architecture connections</a></li>
<li class="toctree-l1"><a class="reference internal" href="prediction.html">Automated essay grader model</a></li>
</ul>
<p class="caption"><span class="caption-text">Front end:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="web.html">Web views</a></li>
<li class="toctree-l1"><a class="reference internal" href="android.html">Android application</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="index.html">Documentation overview</a><ul>
</ul></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
&copy;2019, Kartavya, Aditya, Shreyansh.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.2.0</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Welcome to Automated Essay Grader’s documentation! &#8212; Automated Essay Grader documentation</title>
<link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="MVC architecture connections" href="main.html" />
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="welcome-to-automated-essay-grader-s-documentation">
<h1>Welcome to Automated Essay Grader’s documentation!<a class="headerlink" href="#welcome-to-automated-essay-grader-s-documentation" title="Permalink to this headline"></a></h1>
<p>Automated Essay Grader is essentially a usable wrapper for using machine learning models based on Essay grading. Our project runs on <code class="docutils literal notranslate"><span class="pre">Starlette</span> <span class="pre">server</span></code> hosted on <code class="docutils literal notranslate"><span class="pre">Heroku</span> <span class="pre">cloud</span></code> with a noSQL database hosted on <code class="docutils literal notranslate"><span class="pre">Firebase</span></code>. Using <code class="docutils literal notranslate"><span class="pre">MVC</span> <span class="pre">architecture</span></code> we have created a web interface powered by <code class="docutils literal notranslate"><span class="pre">Bootstrap</span> <span class="pre">4.0</span></code>. Our project also has a fully featured <code class="docutils literal notranslate"><span class="pre">Android</span></code> interface.</p>
<p>To check a live web demo <a class="reference external" href="https://codigos.herokuapp.com/">Check out</a></p>
<div class="section" id="project-environment-setup">
<h2>Project environment setup<a class="headerlink" href="#project-environment-setup" title="Permalink to this headline"></a></h2>
<p>To start the project you first need to install all dependencies:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">pip</span> <span class="n">install</span> <span class="n">requirements</span><span class="o">.</span><span class="n">txt</span>
</pre></div>
</div>
<p>After we have all the requirements set up, we will now create an environment</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">conda</span> <span class="n">env</span> <span class="n">create</span> <span class="o">-</span><span class="n">f</span> <span class="n">Softlab</span><span class="o">.</span><span class="n">yml</span>
</pre></div>
</div>
<p>After the environment is set up you can initialize the environment somehow</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">conda</span> <span class="n">activate</span> <span class="n">Softlab</span>
</pre></div>
</div>
<p>Yes that was it!! Now simply start the system by typing</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">python3</span> <span class="n">main</span><span class="o">.</span><span class="n">py</span>
</pre></div>
</div>
</div>
<div class="section" id="deployment-steps-using-docker">
<h2>Deployment steps using Docker<a class="headerlink" href="#deployment-steps-using-docker" title="Permalink to this headline"></a></h2>
<ol class="arabic">
<li><p>You can simply build the the image file by running following in the directory where Dockerfile is present</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">docker</span> <span class="n">build</span> <span class="o">--</span><span class="n">tag</span> <span class="n">essay</span><span class="o">-</span><span class="n">grader</span> <span class="o">.</span>
</pre></div>
</div>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">docker</span> <span class="n">run</span> <span class="o">--</span><span class="n">name</span> <span class="n">essay</span><span class="o">-</span><span class="n">grader</span> <span class="o">-</span><span class="n">p</span> <span class="mi">8000</span><span class="p">:</span><span class="mi">8000</span> <span class="n">essay</span><span class="o">-</span><span class="n">grader</span>
</pre></div>
</div>
</li>
</ol>
</div>
<div class="section" id="checkout-some-code-now">
<h2>Checkout some code now<a class="headerlink" href="#checkout-some-code-now" title="Permalink to this headline"></a></h2>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Back end:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="main.html">MVC architecture connections</a></li>
<li class="toctree-l1"><a class="reference internal" href="prediction.html">Automated essay grader model</a></li>
</ul>
</div>
<div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Front end:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="web.html">Web views</a></li>
<li class="toctree-l1"><a class="reference internal" href="android.html">Android application</a></li>
</ul>
</div>
</div>
<div class="section" id="indices-and-tables">
<h2>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
<li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li>
<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="#">Automated Essay Grader</a></h1>
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Back end:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="main.html">MVC architecture connections</a></li>
<li class="toctree-l1"><a class="reference internal" href="prediction.html">Automated essay grader model</a></li>
</ul>
<p class="caption"><span class="caption-text">Front end:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="web.html">Web views</a></li>
<li class="toctree-l1"><a class="reference internal" href="android.html">Android application</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="#">Documentation overview</a><ul>
<li>Next: <a href="main.html" title="next chapter">MVC architecture connections</a></li>
</ul></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
&copy;2019, Kartavya, Aditya, Shreyansh.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.2.0</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
<a href="_sources/index.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Automated essay grader model &#8212; Automated Essay Grader documentation</title>
<link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="prev" title="MVC architecture connections" href="main.html" />
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="automated-essay-grader-model">
<h1>Automated essay grader model<a class="headerlink" href="#automated-essay-grader-model" title="Permalink to this headline"></a></h1>
<p>Here we have a very short description of the module prediction part of the parent project Automated essay grader model.</p>
<p>This is an efcient wrapper around a automated essay grading system</p>
<span class="target" id="module-prediction"></span><dl class="function">
<dt id="prediction.getAvgFeatureVecs">
<code class="sig-prename descclassname">prediction.</code><code class="sig-name descname">getAvgFeatureVecs</code><span class="sig-paren">(</span><em class="sig-param">essays</em>, <em class="sig-param">model</em>, <em class="sig-param">num_features</em><span class="sig-paren">)</span><a class="headerlink" href="#prediction.getAvgFeatureVecs" title="Permalink to this definition"></a></dt>
<dd><p>Main function to generate the word vectors for word2vec model.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>essays</strong> – Input is essays</p></li>
<li><p><strong>model</strong> – This input specifies the model to be used to generate Feature vec</p></li>
<li><p><strong>num_features</strong> – This is a metric of number of columns in the matrix cols</p></li>
</ul>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>Returns the essay feature vector</p>
</dd>
</dl>
</dd></dl>
<dl class="function">
<dt id="prediction.makeFeatureVec">
<code class="sig-prename descclassname">prediction.</code><code class="sig-name descname">makeFeatureVec</code><span class="sig-paren">(</span><em class="sig-param">words</em>, <em class="sig-param">model</em>, <em class="sig-param">num_features</em><span class="sig-paren">)</span><a class="headerlink" href="#prediction.makeFeatureVec" title="Permalink to this definition"></a></dt>
<dd><p>This function generates feature vectors for each dimension ie. plane</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>words</strong> – We pass the words that we needed</p></li>
<li><p><strong>model</strong> – Model to decide on what basis police have been arrested</p></li>
</ul>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">featureVec</span></code> is the result of the function</p>
</dd>
</dl>
</dd></dl>
<dl class="function">
<dt id="prediction.predict">
<code class="sig-prename descclassname">prediction.</code><code class="sig-name descname">predict</code><span class="sig-paren">(</span><em class="sig-param">essay</em><span class="sig-paren">)</span><a class="headerlink" href="#prediction.predict" title="Permalink to this definition"></a></dt>
<dd><p>This is the function which calculates the score given an essay</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>essay</strong> – This input is the essay that we got from the fronend.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>We are returning the y_pred values</p>
</dd>
</dl>
</dd></dl>
<dl class="function">
<dt id="prediction.tokenizeEssay">
<code class="sig-prename descclassname">prediction.</code><code class="sig-name descname">tokenizeEssay</code><span class="sig-paren">(</span><em class="sig-param">essay</em><span class="sig-paren">)</span><a class="headerlink" href="#prediction.tokenizeEssay" title="Permalink to this definition"></a></dt>
<dd><p>This funciton tokenizes the text provided as input in the from of essay</p>
<p>We remove <code class="docutils literal notranslate"><span class="pre">stopwords</span></code> from the essay</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">This</span> <span class="ow">is</span> <span class="n">america</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">america</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>essay</strong> – Input in the form of text</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p>Tokenized words</p>
</dd>
</dl>
</dd></dl>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="index.html">Automated Essay Grader</a></h1>
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="main.html">MVC architecture connections</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Automated essay grader model</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="index.html">Documentation overview</a><ul>
<li>Previous: <a href="main.html" title="previous chapter">MVC architecture connections</a></li>
</ul></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
&copy;2019, Kartavya, Aditya, Shreyansh.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.2.0</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
<a href="_sources/prediction.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
Search.setIndex({docnames:["android","index","main","prediction","web"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,sphinx:56},filenames:["android.rst","index.rst","main.rst","prediction.rst","web.rst"],objects:{"":{main:[2,0,0,"-"],prediction:[3,0,0,"-"]},main:{contrbPage:[2,1,1,""],evaluate:[2,1,1,""],evaluateFile:[2,1,1,""],firebase_login:[2,1,1,""],firebase_register:[2,1,1,""],getEssay:[2,1,1,""],login:[2,1,1,""],show_index:[2,1,1,""]},prediction:{getAvgFeatureVecs:[3,1,1,""],makeFeatureVec:[3,1,1,""],predict:[3,1,1,""],tokenizeEssay:[3,1,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:function"},terms:{"default":2,"function":[2,3],"return":[2,3],"short":[2,3],For:2,The:2,Using:1,Yes:1,abil:2,about:2,accept:2,access:2,activ:1,after:[1,2],all:1,also:1,america:3,androd:[],android:1,app:2,applic:1,appreci:2,architechtur:2,architectur:1,around:3,arrest:3,async:2,auth:2,authent:2,back:1,backend:2,base:1,basi:3,been:3,belong:2,better:2,between:2,bootstrap:1,browser:2,build:1,calcul:[2,3],call:2,can:[1,2],caption:[],check:[1,2],cloud:[1,2],code:2,codigo:[],col:3,column:3,com:2,conda:1,connect:1,consda:[],consist:2,content:[],contrbpag:2,contribut:[0,2,4],control:2,cool:2,coolcool:2,correspond:2,cow:2,creat:1,databas:1,deal:2,decid:3,demo:1,depend:1,descript:[2,3],differ:2,dimens:3,direct:2,directli:2,directori:1,distinct:2,diwali:2,dockerfil:1,document:[0,4],donat:2,each:3,efcient:3,email:2,end:[1,4],engin:2,enjoi:2,env:1,environ:[],essai:2,essenti:1,evalu:[0,2],evaluatefil:2,featur:[1,3],featurevec:3,festiv:2,figur:[],file:[1,2],firebas:[1,2],firebase_login:2,firebase_regist:2,first:1,follow:1,form:3,friend:2,from:[2,3],fronend:3,front:[1,4],frontend:2,fulli:1,funciton:3,funicton:2,gener:3,get:2,getavgfeaturevec:3,getessai:2,give:2,given:3,got:3,grade:[1,3],hame:[],has:1,have:[1,2,3],here:[2,3],heroku:1,herokuapp:[],home:2,host:[1,2],how:[],href:2,html:4,http:[],imag:1,index:[1,4],initi:1,input:[2,3],instal:1,intead:2,interfac:1,invok:2,jinga2vec:2,jpeg:[],learn:1,like:2,link:2,live:1,log:2,login:[0,2,4],machin:1,main:[1,2,3],mainli:2,make:2,makefeaturevec:3,manag:2,map:2,match:2,matrix:3,maxdepth:[],method:2,metric:3,mod:[],modal:2,model:[1,2],modul:[1,3],monn:[],mvc:1,name:1,need:[1,3],nosql:1,now:2,num_featur:3,number:3,oper:2,option:2,our:[1,2],out:[1,2],page:1,pair:2,param:2,paramet:3,parent:3,part:3,pass:[2,3],password:2,peopl:2,pet:2,pip:1,plane:3,platform:2,plumb:2,polic:3,portal:4,post:2,power:1,predict:3,present:1,project:3,prompt:2,provid:[2,3],python3:[1,2],reciev:2,redirect:2,regist:[0,2,4],registr:2,remov:3,render:2,request:2,requir:1,result:3,rout:2,run:1,rytp:[],same:2,score:[0,2,3,4],search:1,see:2,send:2,server:[1,2],set:[1,2],show_index:2,simpli:1,softlab:1,some:2,somehow:1,specifi:3,sql:[],starlett:1,start:[1,2],state:2,stopword:3,store:2,system:[1,3],tag:1,templat:2,text:[2,3],thank:4,thi:[0,2,3,4],till:2,toctre:[],token:3,tokenizeessai:3,total:2,two:2,txt:1,type:[1,2,3],upload:2,url:2,usabl:1,use:2,used:3,user:2,usernam:2,using:[],valu:3,vec:3,vector:3,veri:3,view:[1,2],web:1,what:3,when:2,whenev:2,where:[1,2],which:[2,3],wholsom:2,word2vec:3,word:3,would:2,wrapper:[1,3],write:2,y_pred:3,yml:1,you:1},titles:["Android application","Welcome to Automated Essay Grader\u2019s documentation!","MVC architecture connections","Automated essay grader model","Web views"],titleterms:{android:0,applic:0,architectur:2,autom:[1,3],checkout:1,code:1,connect:2,deploy:1,docker:1,document:1,environ:1,essai:[1,3],formal:[],grader:[1,3],indic:1,model:3,mvc:2,now:1,project:1,setup:1,some:1,start:[],step:1,tabl:1,using:1,view:4,web:4,welcom:1}})
\ No newline at end of file
This diff is collapsed.
;; -*- coding: utf-8; mode: Lisp; -*-
;; style file for xindy
;; filename: LICRcyr2utf8.xdy
;; description: style file for xindy which maps back LaTeX Internal
;; Character Representation of Cyrillic to utf-8
;; usage: for use with pdflatex produced .idx files.
;; Contributed by the Sphinx team, July 2018.
(merge-rule "\IeC {\'\CYRG }" "Ѓ" :string)
(merge-rule "\IeC {\'\CYRK }" "Ќ" :string)
(merge-rule "\IeC {\'\cyrg }" "ѓ" :string)
(merge-rule "\IeC {\'\cyrk }" "ќ" :string)
(merge-rule "\IeC {\CYRA }" "А" :string)
(merge-rule "\IeC {\CYRB }" "Б" :string)
(merge-rule "\IeC {\CYRC }" "Ц" :string)
(merge-rule "\IeC {\CYRCH }" "Ч" :string)
(merge-rule "\IeC {\CYRD }" "Д" :string)
(merge-rule "\IeC {\CYRDJE }" "Ђ" :string)
(merge-rule "\IeC {\CYRDZE }" "Ѕ" :string)
(merge-rule "\IeC {\CYRDZHE }" "Џ" :string)
(merge-rule "\IeC {\CYRE }" "Е" :string)
(merge-rule "\IeC {\CYREREV }" "Э" :string)
(merge-rule "\IeC {\CYRERY }" "Ы" :string)
(merge-rule "\IeC {\CYRF }" "Ф" :string)
(merge-rule "\IeC {\CYRG }" "Г" :string)
(merge-rule "\IeC {\CYRGUP }" "Ґ" :string)
(merge-rule "\IeC {\CYRH }" "Х" :string)
(merge-rule "\IeC {\CYRHRDSN }" "Ъ" :string)
(merge-rule "\IeC {\CYRI }" "И" :string)
(merge-rule "\IeC {\CYRIE }" "Є" :string)
(merge-rule "\IeC {\CYRII }" "І" :string)
(merge-rule "\IeC {\CYRISHRT }" "Й" :string)
(merge-rule "\IeC {\CYRJE }" "Ј" :string)
(merge-rule "\IeC {\CYRK }" "К" :string)
(merge-rule "\IeC {\CYRL }" "Л" :string)
(merge-rule "\IeC {\CYRLJE }" "Љ" :string)
(merge-rule "\IeC {\CYRM }" "М" :string)
(merge-rule "\IeC {\CYRN }" "Н" :string)
(merge-rule "\IeC {\CYRNJE }" "Њ" :string)
(merge-rule "\IeC {\CYRO }" "О" :string)
(merge-rule "\IeC {\CYRP }" "П" :string)
(merge-rule "\IeC {\CYRR }" "Р" :string)
(merge-rule "\IeC {\CYRS }" "С" :string)
(merge-rule "\IeC {\CYRSFTSN }" "Ь" :string)
(merge-rule "\IeC {\CYRSH }" "Ш" :string)
(merge-rule "\IeC {\CYRSHCH }" "Щ" :string)
(merge-rule "\IeC {\CYRT }" "Т" :string)
(merge-rule "\IeC {\CYRTSHE }" "Ћ" :string)
(merge-rule "\IeC {\CYRU }" "У" :string)
(merge-rule "\IeC {\CYRUSHRT }" "Ў" :string)
(merge-rule "\IeC {\CYRV }" "В" :string)
(merge-rule "\IeC {\CYRYA }" "Я" :string)
(merge-rule "\IeC {\CYRYI }" "Ї" :string)
(merge-rule "\IeC {\CYRYO }" "Ё" :string)
(merge-rule "\IeC {\CYRYU }" "Ю" :string)
(merge-rule "\IeC {\CYRZ }" "З" :string)
(merge-rule "\IeC {\CYRZH }" "Ж" :string)
(merge-rule "\IeC {\cyra }" "а" :string)
(merge-rule "\IeC {\cyrb }" "б" :string)
(merge-rule "\IeC {\cyrc }" "ц" :string)
(merge-rule "\IeC {\cyrch }" "ч" :string)
(merge-rule "\IeC {\cyrd }" "д" :string)
(merge-rule "\IeC {\cyrdje }" "ђ" :string)
(merge-rule "\IeC {\cyrdze }" "ѕ" :string)
(merge-rule "\IeC {\cyrdzhe }" "џ" :string)
(merge-rule "\IeC {\cyre }" "е" :string)
(merge-rule "\IeC {\cyrerev }" "э" :string)
(merge-rule "\IeC {\cyrery }" "ы" :string)
(merge-rule "\IeC {\cyrf }" "ф" :string)
(merge-rule "\IeC {\cyrg }" "г" :string)
(merge-rule "\IeC {\cyrgup }" "ґ" :string)
(merge-rule "\IeC {\cyrh }" "х" :string)
(merge-rule "\IeC {\cyrhrdsn }" "ъ" :string)
(merge-rule "\IeC {\cyri }" "и" :string)
(merge-rule "\IeC {\cyrie }" "є" :string)
(merge-rule "\IeC {\cyrii }" "і" :string)
(merge-rule "\IeC {\cyrishrt }" "й" :string)
(merge-rule "\IeC {\cyrje }" "ј" :string)
(merge-rule "\IeC {\cyrk }" "к" :string)
(merge-rule "\IeC {\cyrl }" "л" :string)
(merge-rule "\IeC {\cyrlje }" "љ" :string)
(merge-rule "\IeC {\cyrm }" "м" :string)
(merge-rule "\IeC {\cyrn }" "н" :string)
(merge-rule "\IeC {\cyrnje }" "њ" :string)
(merge-rule "\IeC {\cyro }" "о" :string)
(merge-rule "\IeC {\cyrp }" "п" :string)
(merge-rule "\IeC {\cyrr }" "р" :string)
(merge-rule "\IeC {\cyrs }" "с" :string)
(merge-rule "\IeC {\cyrsftsn }" "ь" :string)
(merge-rule "\IeC {\cyrsh }" "ш" :string)
(merge-rule "\IeC {\cyrshch }" "щ" :string)
(merge-rule "\IeC {\cyrt }" "т" :string)
(merge-rule "\IeC {\cyrtshe }" "ћ" :string)
(merge-rule "\IeC {\cyru }" "у" :string)
(merge-rule "\IeC {\cyrushrt }" "ў" :string)
(merge-rule "\IeC {\cyrv }" "в" :string)
(merge-rule "\IeC {\cyrya }" "я" :string)
(merge-rule "\IeC {\cyryi }" "ї" :string)
(merge-rule "\IeC {\cyryo }" "ё" :string)
(merge-rule "\IeC {\cyryu }" "ю" :string)
(merge-rule "\IeC {\cyrz }" "з" :string)
(merge-rule "\IeC {\cyrzh }" "ж" :string)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment