diff --git a/.flaskenv b/.flaskenv
index 42a2fb497..9db016932 100644
--- a/.flaskenv
+++ b/.flaskenv
@@ -1 +1 @@
-FLASK_APP=loginapp
\ No newline at end of file
+FLASK_APP=elearning.py
\ No newline at end of file
diff --git a/README.md b/README.md
index a3d8d70f1..f971de972 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,17 @@
-# elearning
-AWS Amplify-powered elearning app demo
+# Signal-K/Elearning
-Latest update: https://acord.software/stellarios/docs/elearning#20-22nd-february-2021
-[Commit fix](https://stackoverflow.com/questions/23609991/git-github-commit-at-past-date)
\ No newline at end of file
+[Documentation](https://acord.software/stellarios/docs/elearning/#actions)
+
+Run by doing the following:
+
+Download this repository. Install the necessary pip modules into a python/pip virtualenv:
+
+* Flask
+* Flask-wtf
+* Flask-sqlalchemy
+* Flask-login
+* Flask-migrate
+
+And, of course, python
+
+Finally, activate the venv and run the app using `flask run`
\ No newline at end of file
diff --git a/flask1-0.01/app/__init__.py b/app/__init__.py
similarity index 100%
rename from flask1-0.01/app/__init__.py
rename to app/__init__.py
diff --git a/flask1-0.01/app/errors.py b/app/errors.py
similarity index 100%
rename from flask1-0.01/app/errors.py
rename to app/errors.py
diff --git a/flask1-0.01/app/forms.py b/app/forms.py
similarity index 100%
rename from flask1-0.01/app/forms.py
rename to app/forms.py
diff --git a/flask1-0.01/app/models.py b/app/models.py
similarity index 100%
rename from flask1-0.01/app/models.py
rename to app/models.py
diff --git a/flask1-0.01/app/routes.py b/app/routes.py
similarity index 100%
rename from flask1-0.01/app/routes.py
rename to app/routes.py
diff --git a/app/templates/.DS_Store b/app/templates/.DS_Store
new file mode 100644
index 000000000..dc4b94a8f
Binary files /dev/null and b/app/templates/.DS_Store differ
diff --git a/flask1-0.01/app/templates/404.html b/app/templates/404.html
similarity index 100%
rename from flask1-0.01/app/templates/404.html
rename to app/templates/404.html
diff --git a/flask1-0.01/app/templates/500.html b/app/templates/500.html
similarity index 100%
rename from flask1-0.01/app/templates/500.html
rename to app/templates/500.html
diff --git a/flask1-0.01/app/templates/_post.html b/app/templates/_post.html
similarity index 100%
rename from flask1-0.01/app/templates/_post.html
rename to app/templates/_post.html
diff --git a/flask1-0.01/app/templates/_profile.html b/app/templates/_profile.html
similarity index 100%
rename from flask1-0.01/app/templates/_profile.html
rename to app/templates/_profile.html
diff --git a/flask1-0.01/app/templates/base.html b/app/templates/base.html
similarity index 100%
rename from flask1-0.01/app/templates/base.html
rename to app/templates/base.html
diff --git a/app/templates/creator-dashboard/E - Dashboard - Creator - Menu hidden.png b/app/templates/creator-dashboard/E - Dashboard - Creator - Menu hidden.png
new file mode 100644
index 000000000..364ad3b26
Binary files /dev/null and b/app/templates/creator-dashboard/E - Dashboard - Creator - Menu hidden.png differ
diff --git a/app/templates/creator-dashboard/E - Dashboard - Teacher.png b/app/templates/creator-dashboard/E - Dashboard - Teacher.png
new file mode 100644
index 000000000..a64000aa1
Binary files /dev/null and b/app/templates/creator-dashboard/E - Dashboard - Teacher.png differ
diff --git a/app/templates/creator-editCourse/C - Edit Course.png b/app/templates/creator-editCourse/C - Edit Course.png
new file mode 100644
index 000000000..81d96883a
Binary files /dev/null and b/app/templates/creator-editCourse/C - Edit Course.png differ
diff --git a/flask1-0.01/app/templates/index.html b/app/templates/index.html
similarity index 100%
rename from flask1-0.01/app/templates/index.html
rename to app/templates/index.html
diff --git a/flask1-0.01/app/templates/login.html b/app/templates/login.html
similarity index 100%
rename from flask1-0.01/app/templates/login.html
rename to app/templates/login.html
diff --git a/app/templates/login/.DS_Store b/app/templates/login/.DS_Store
new file mode 100644
index 000000000..6fb28daa9
Binary files /dev/null and b/app/templates/login/.DS_Store differ
diff --git a/app/templates/login/E - Login - Mobile.png b/app/templates/login/E - Login - Mobile.png
new file mode 100644
index 000000000..f62ddcf43
Binary files /dev/null and b/app/templates/login/E - Login - Mobile.png differ
diff --git a/app/templates/login/E - Login - Tablet.png b/app/templates/login/E - Login - Tablet.png
new file mode 100644
index 000000000..7e0cdc891
Binary files /dev/null and b/app/templates/login/E - Login - Tablet.png differ
diff --git a/app/templates/login/E - Login.png b/app/templates/login/E - Login.png
new file mode 100644
index 000000000..6702aa9c2
Binary files /dev/null and b/app/templates/login/E - Login.png differ
diff --git a/app/templates/new-acc/E - New User - All set.png b/app/templates/new-acc/E - New User - All set.png
new file mode 100644
index 000000000..af0f67373
Binary files /dev/null and b/app/templates/new-acc/E - New User - All set.png differ
diff --git a/app/templates/new-acc/E - New User - Password.png b/app/templates/new-acc/E - New User - Password.png
new file mode 100644
index 000000000..5f8483d40
Binary files /dev/null and b/app/templates/new-acc/E - New User - Password.png differ
diff --git a/app/templates/new-acc/E - New User - Type of user.png b/app/templates/new-acc/E - New User - Type of user.png
new file mode 100644
index 000000000..98a027ea5
Binary files /dev/null and b/app/templates/new-acc/E - New User - Type of user.png differ
diff --git a/app/templates/student-course/Course Main - Student.png b/app/templates/student-course/Course Main - Student.png
new file mode 100644
index 000000000..4157d0e4b
Binary files /dev/null and b/app/templates/student-course/Course Main - Student.png differ
diff --git a/app/templates/student-course/Quiz - Student.png b/app/templates/student-course/Quiz - Student.png
new file mode 100644
index 000000000..2996755af
Binary files /dev/null and b/app/templates/student-course/Quiz - Student.png differ
diff --git a/app/templates/student-course/Watching content - Student.png b/app/templates/student-course/Watching content - Student.png
new file mode 100644
index 000000000..4e825548d
Binary files /dev/null and b/app/templates/student-course/Watching content - Student.png differ
diff --git a/app/templates/student-dashboard/E - Dashboard - Student - Menu hidden.png b/app/templates/student-dashboard/E - Dashboard - Student - Menu hidden.png
new file mode 100644
index 000000000..c61e8e72c
Binary files /dev/null and b/app/templates/student-dashboard/E - Dashboard - Student - Menu hidden.png differ
diff --git a/app/templates/student-dashboard/E - Dashboard - Student - Tablet.png b/app/templates/student-dashboard/E - Dashboard - Student - Tablet.png
new file mode 100644
index 000000000..ad84c6fbe
Binary files /dev/null and b/app/templates/student-dashboard/E - Dashboard - Student - Tablet.png differ
diff --git a/app/templates/student-dashboard/E - Dashboard - Student.png b/app/templates/student-dashboard/E - Dashboard - Student.png
new file mode 100644
index 000000000..6f9b5602b
Binary files /dev/null and b/app/templates/student-dashboard/E - Dashboard - Student.png differ
diff --git a/app/templates/student-dashboard/E - dashboard - Student - Mobile Menu.png b/app/templates/student-dashboard/E - dashboard - Student - Mobile Menu.png
new file mode 100644
index 000000000..86548c267
Binary files /dev/null and b/app/templates/student-dashboard/E - dashboard - Student - Mobile Menu.png differ
diff --git a/app/templates/student-dashboard/E - dashboard - Student - Mobile.png b/app/templates/student-dashboard/E - dashboard - Student - Mobile.png
new file mode 100644
index 000000000..83a8652f0
Binary files /dev/null and b/app/templates/student-dashboard/E - dashboard - Student - Mobile.png differ
diff --git a/flask1-0.01/app/templates/upload.html b/app/templates/upload.html
similarity index 100%
rename from flask1-0.01/app/templates/upload.html
rename to app/templates/upload.html
diff --git a/flask1-0.01/app/templates/user.html b/app/templates/user.html
similarity index 100%
rename from flask1-0.01/app/templates/user.html
rename to app/templates/user.html
diff --git a/auth/bin/Activate.ps1 b/auth/bin/Activate.ps1
deleted file mode 100644
index 2fb3852c3..000000000
--- a/auth/bin/Activate.ps1
+++ /dev/null
@@ -1,241 +0,0 @@
-<#
-.Synopsis
-Activate a Python virtual environment for the current PowerShell session.
-
-.Description
-Pushes the python executable for a virtual environment to the front of the
-$Env:PATH environment variable and sets the prompt to signify that you are
-in a Python virtual environment. Makes use of the command line switches as
-well as the `pyvenv.cfg` file values present in the virtual environment.
-
-.Parameter VenvDir
-Path to the directory that contains the virtual environment to activate. The
-default value for this is the parent of the directory that the Activate.ps1
-script is located within.
-
-.Parameter Prompt
-The prompt prefix to display when this virtual environment is activated. By
-default, this prompt is the name of the virtual environment folder (VenvDir)
-surrounded by parentheses and followed by a single space (ie. '(.venv) ').
-
-.Example
-Activate.ps1
-Activates the Python virtual environment that contains the Activate.ps1 script.
-
-.Example
-Activate.ps1 -Verbose
-Activates the Python virtual environment that contains the Activate.ps1 script,
-and shows extra information about the activation as it executes.
-
-.Example
-Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
-Activates the Python virtual environment located in the specified location.
-
-.Example
-Activate.ps1 -Prompt "MyPython"
-Activates the Python virtual environment that contains the Activate.ps1 script,
-and prefixes the current prompt with the specified string (surrounded in
-parentheses) while the virtual environment is active.
-
-.Notes
-On Windows, it may be required to enable this Activate.ps1 script by setting the
-execution policy for the user. You can do this by issuing the following PowerShell
-command:
-
-PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
-
-For more information on Execution Policies:
-https://go.microsoft.com/fwlink/?LinkID=135170
-
-#>
-Param(
- [Parameter(Mandatory = $false)]
- [String]
- $VenvDir,
- [Parameter(Mandatory = $false)]
- [String]
- $Prompt
-)
-
-<# Function declarations --------------------------------------------------- #>
-
-<#
-.Synopsis
-Remove all shell session elements added by the Activate script, including the
-addition of the virtual environment's Python executable from the beginning of
-the PATH variable.
-
-.Parameter NonDestructive
-If present, do not remove this function from the global namespace for the
-session.
-
-#>
-function global:deactivate ([switch]$NonDestructive) {
- # Revert to original values
-
- # The prior prompt:
- if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
- Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
- Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
- }
-
- # The prior PYTHONHOME:
- if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
- Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
- Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
- }
-
- # The prior PATH:
- if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
- Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
- Remove-Item -Path Env:_OLD_VIRTUAL_PATH
- }
-
- # Just remove the VIRTUAL_ENV altogether:
- if (Test-Path -Path Env:VIRTUAL_ENV) {
- Remove-Item -Path env:VIRTUAL_ENV
- }
-
- # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
- if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
- Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
- }
-
- # Leave deactivate function in the global namespace if requested:
- if (-not $NonDestructive) {
- Remove-Item -Path function:deactivate
- }
-}
-
-<#
-.Description
-Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
-given folder, and returns them in a map.
-
-For each line in the pyvenv.cfg file, if that line can be parsed into exactly
-two strings separated by `=` (with any amount of whitespace surrounding the =)
-then it is considered a `key = value` line. The left hand string is the key,
-the right hand is the value.
-
-If the value starts with a `'` or a `"` then the first and last character is
-stripped from the value before being captured.
-
-.Parameter ConfigDir
-Path to the directory that contains the `pyvenv.cfg` file.
-#>
-function Get-PyVenvConfig(
- [String]
- $ConfigDir
-) {
- Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
-
- # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
- $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
-
- # An empty map will be returned if no config file is found.
- $pyvenvConfig = @{ }
-
- if ($pyvenvConfigPath) {
-
- Write-Verbose "File exists, parse `key = value` lines"
- $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
-
- $pyvenvConfigContent | ForEach-Object {
- $keyval = $PSItem -split "\s*=\s*", 2
- if ($keyval[0] -and $keyval[1]) {
- $val = $keyval[1]
-
- # Remove extraneous quotations around a string value.
- if ("'""".Contains($val.Substring(0, 1))) {
- $val = $val.Substring(1, $val.Length - 2)
- }
-
- $pyvenvConfig[$keyval[0]] = $val
- Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
- }
- }
- }
- return $pyvenvConfig
-}
-
-
-<# Begin Activate script --------------------------------------------------- #>
-
-# Determine the containing directory of this script
-$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
-$VenvExecDir = Get-Item -Path $VenvExecPath
-
-Write-Verbose "Activation script is located in path: '$VenvExecPath'"
-Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
-Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
-
-# Set values required in priority: CmdLine, ConfigFile, Default
-# First, get the location of the virtual environment, it might not be
-# VenvExecDir if specified on the command line.
-if ($VenvDir) {
- Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
-}
-else {
- Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
- $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
- Write-Verbose "VenvDir=$VenvDir"
-}
-
-# Next, read the `pyvenv.cfg` file to determine any required value such
-# as `prompt`.
-$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
-
-# Next, set the prompt from the command line, or the config file, or
-# just use the name of the virtual environment folder.
-if ($Prompt) {
- Write-Verbose "Prompt specified as argument, using '$Prompt'"
-}
-else {
- Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
- if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
- Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
- $Prompt = $pyvenvCfg['prompt'];
- }
- else {
- Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virutal environment)"
- Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
- $Prompt = Split-Path -Path $venvDir -Leaf
- }
-}
-
-Write-Verbose "Prompt = '$Prompt'"
-Write-Verbose "VenvDir='$VenvDir'"
-
-# Deactivate any currently active virtual environment, but leave the
-# deactivate function in place.
-deactivate -nondestructive
-
-# Now set the environment variable VIRTUAL_ENV, used by many tools to determine
-# that there is an activated venv.
-$env:VIRTUAL_ENV = $VenvDir
-
-if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
-
- Write-Verbose "Setting prompt to '$Prompt'"
-
- # Set the prompt to include the env name
- # Make sure _OLD_VIRTUAL_PROMPT is global
- function global:_OLD_VIRTUAL_PROMPT { "" }
- Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
- New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
-
- function global:prompt {
- Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
- _OLD_VIRTUAL_PROMPT
- }
-}
-
-# Clear PYTHONHOME
-if (Test-Path -Path Env:PYTHONHOME) {
- Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
- Remove-Item -Path Env:PYTHONHOME
-}
-
-# Add the venv to the PATH
-Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
-$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
diff --git a/auth/bin/activate b/auth/bin/activate
deleted file mode 100644
index 09af6a383..000000000
--- a/auth/bin/activate
+++ /dev/null
@@ -1,76 +0,0 @@
-# This file must be used with "source bin/activate" *from bash*
-# you cannot run it directly
-
-deactivate () {
- # reset old environment variables
- if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
- PATH="${_OLD_VIRTUAL_PATH:-}"
- export PATH
- unset _OLD_VIRTUAL_PATH
- fi
- if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
- PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
- export PYTHONHOME
- unset _OLD_VIRTUAL_PYTHONHOME
- fi
-
- # This should detect bash and zsh, which have a hash command that must
- # be called to get it to forget past commands. Without forgetting
- # past commands the $PATH changes we made may not be respected
- if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
- hash -r
- fi
-
- if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
- PS1="${_OLD_VIRTUAL_PS1:-}"
- export PS1
- unset _OLD_VIRTUAL_PS1
- fi
-
- unset VIRTUAL_ENV
- if [ ! "${1:-}" = "nondestructive" ] ; then
- # Self destruct!
- unset -f deactivate
- fi
-}
-
-# unset irrelevant variables
-deactivate nondestructive
-
-VIRTUAL_ENV="/home/codespace/workspace/elearning/auth"
-export VIRTUAL_ENV
-
-_OLD_VIRTUAL_PATH="$PATH"
-PATH="$VIRTUAL_ENV/bin:$PATH"
-export PATH
-
-# unset PYTHONHOME if set
-# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
-# could use `if (set -u; : $PYTHONHOME) ;` in bash
-if [ -n "${PYTHONHOME:-}" ] ; then
- _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
- unset PYTHONHOME
-fi
-
-if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
- _OLD_VIRTUAL_PS1="${PS1:-}"
- if [ "x(auth) " != x ] ; then
- PS1="(auth) ${PS1:-}"
- else
- if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
- # special case for Aspen magic directories
- # see http://www.zetadev.com/software/aspen/
- PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
- else
- PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
- fi
- fi
- export PS1
-fi
-
-# This should detect bash and zsh, which have a hash command that must
-# be called to get it to forget past commands. Without forgetting
-# past commands the $PATH changes we made may not be respected
-if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
- hash -r
-fi
diff --git a/auth/bin/activate.csh b/auth/bin/activate.csh
deleted file mode 100644
index 6cbaa1435..000000000
--- a/auth/bin/activate.csh
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file must be used with "source bin/activate.csh" *from csh*.
-# You cannot run it directly.
-# Created by Davide Di Blasi .
-# Ported to Python 3.3 venv by Andrew Svetlov
-
-alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate'
-
-# Unset irrelevant variables.
-deactivate nondestructive
-
-setenv VIRTUAL_ENV "/home/codespace/workspace/elearning/auth"
-
-set _OLD_VIRTUAL_PATH="$PATH"
-setenv PATH "$VIRTUAL_ENV/bin:$PATH"
-
-
-set _OLD_VIRTUAL_PROMPT="$prompt"
-
-if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
- if ("auth" != "") then
- set env_name = "auth"
- else
- if (`basename "VIRTUAL_ENV"` == "__") then
- # special case for Aspen magic directories
- # see http://www.zetadev.com/software/aspen/
- set env_name = `basename \`dirname "$VIRTUAL_ENV"\``
- else
- set env_name = `basename "$VIRTUAL_ENV"`
- endif
- endif
- set prompt = "[$env_name] $prompt"
- unset env_name
-endif
-
-alias pydoc python -m pydoc
-
-rehash
diff --git a/auth/bin/activate.fish b/auth/bin/activate.fish
deleted file mode 100644
index 7263d12db..000000000
--- a/auth/bin/activate.fish
+++ /dev/null
@@ -1,75 +0,0 @@
-# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org)
-# you cannot run it directly
-
-function deactivate -d "Exit virtualenv and return to normal shell environment"
- # reset old environment variables
- if test -n "$_OLD_VIRTUAL_PATH"
- set -gx PATH $_OLD_VIRTUAL_PATH
- set -e _OLD_VIRTUAL_PATH
- end
- if test -n "$_OLD_VIRTUAL_PYTHONHOME"
- set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
- set -e _OLD_VIRTUAL_PYTHONHOME
- end
-
- if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
- functions -e fish_prompt
- set -e _OLD_FISH_PROMPT_OVERRIDE
- functions -c _old_fish_prompt fish_prompt
- functions -e _old_fish_prompt
- end
-
- set -e VIRTUAL_ENV
- if test "$argv[1]" != "nondestructive"
- # Self destruct!
- functions -e deactivate
- end
-end
-
-# unset irrelevant variables
-deactivate nondestructive
-
-set -gx VIRTUAL_ENV "/home/codespace/workspace/elearning/auth"
-
-set -gx _OLD_VIRTUAL_PATH $PATH
-set -gx PATH "$VIRTUAL_ENV/bin" $PATH
-
-# unset PYTHONHOME if set
-if set -q PYTHONHOME
- set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
- set -e PYTHONHOME
-end
-
-if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
- # fish uses a function instead of an env var to generate the prompt.
-
- # save the current fish_prompt function as the function _old_fish_prompt
- functions -c fish_prompt _old_fish_prompt
-
- # with the original prompt function renamed, we can override with our own.
- function fish_prompt
- # Save the return status of the last command
- set -l old_status $status
-
- # Prompt override?
- if test -n "(auth) "
- printf "%s%s" "(auth) " (set_color normal)
- else
- # ...Otherwise, prepend env
- set -l _checkbase (basename "$VIRTUAL_ENV")
- if test $_checkbase = "__"
- # special case for Aspen magic directories
- # see http://www.zetadev.com/software/aspen/
- printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal)
- else
- printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal)
- end
- end
-
- # Restore the return status of the previous command.
- echo "exit $old_status" | .
- _old_fish_prompt
- end
-
- set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
-end
diff --git a/auth/bin/easy_install b/auth/bin/easy_install
deleted file mode 100755
index bf68a6e90..000000000
--- a/auth/bin/easy_install
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/home/codespace/workspace/elearning/auth/bin/python3
-# -*- coding: utf-8 -*-
-import re
-import sys
-from setuptools.command.easy_install import main
-if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
- sys.exit(main())
diff --git a/auth/bin/easy_install-3.8 b/auth/bin/easy_install-3.8
deleted file mode 100755
index bf68a6e90..000000000
--- a/auth/bin/easy_install-3.8
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/home/codespace/workspace/elearning/auth/bin/python3
-# -*- coding: utf-8 -*-
-import re
-import sys
-from setuptools.command.easy_install import main
-if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
- sys.exit(main())
diff --git a/auth/bin/flask b/auth/bin/flask
deleted file mode 100755
index 48bbb1f0b..000000000
--- a/auth/bin/flask
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/home/codespace/workspace/elearning/auth/bin/python3
-# -*- coding: utf-8 -*-
-import re
-import sys
-from flask.cli import main
-if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
- sys.exit(main())
diff --git a/auth/bin/pip b/auth/bin/pip
deleted file mode 100755
index 70d32179f..000000000
--- a/auth/bin/pip
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/home/codespace/workspace/elearning/auth/bin/python3
-# -*- coding: utf-8 -*-
-import re
-import sys
-from pip._internal.cli.main import main
-if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
- sys.exit(main())
diff --git a/auth/bin/pip3 b/auth/bin/pip3
deleted file mode 100755
index 70d32179f..000000000
--- a/auth/bin/pip3
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/home/codespace/workspace/elearning/auth/bin/python3
-# -*- coding: utf-8 -*-
-import re
-import sys
-from pip._internal.cli.main import main
-if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
- sys.exit(main())
diff --git a/auth/bin/pip3.8 b/auth/bin/pip3.8
deleted file mode 100755
index 70d32179f..000000000
--- a/auth/bin/pip3.8
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/home/codespace/workspace/elearning/auth/bin/python3
-# -*- coding: utf-8 -*-
-import re
-import sys
-from pip._internal.cli.main import main
-if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
- sys.exit(main())
diff --git a/auth/bin/python b/auth/bin/python
deleted file mode 120000
index b8a0adbbb..000000000
--- a/auth/bin/python
+++ /dev/null
@@ -1 +0,0 @@
-python3
\ No newline at end of file
diff --git a/auth/bin/python3 b/auth/bin/python3
deleted file mode 120000
index ae65fdaa1..000000000
--- a/auth/bin/python3
+++ /dev/null
@@ -1 +0,0 @@
-/usr/bin/python3
\ No newline at end of file
diff --git a/auth/lib64 b/auth/lib64
deleted file mode 120000
index 7951405f8..000000000
--- a/auth/lib64
+++ /dev/null
@@ -1 +0,0 @@
-lib
\ No newline at end of file
diff --git a/auth/pyvenv.cfg b/auth/pyvenv.cfg
deleted file mode 100644
index 8dbc2bab8..000000000
--- a/auth/pyvenv.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-home = /usr/bin
-include-system-site-packages = false
-version = 3.8.5
diff --git a/auth/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl b/auth/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl
deleted file mode 100644
index bd54b9bf4..000000000
Binary files a/auth/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl b/auth/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl
deleted file mode 100644
index a52728b76..000000000
Binary files a/auth/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl b/auth/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl
deleted file mode 100644
index 77ec5fbdf..000000000
Binary files a/auth/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl b/auth/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl
deleted file mode 100644
index 09a68abf4..000000000
Binary files a/auth/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl b/auth/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl
deleted file mode 100644
index 071333268..000000000
Binary files a/auth/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl b/auth/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl
deleted file mode 100644
index c0e697532..000000000
Binary files a/auth/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl b/auth/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl
deleted file mode 100644
index 819ffabc9..000000000
Binary files a/auth/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl b/auth/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl
deleted file mode 100644
index 78243cc0b..000000000
Binary files a/auth/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl b/auth/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl
deleted file mode 100644
index dd1359688..000000000
Binary files a/auth/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/idna-2.8-py2.py3-none-any.whl b/auth/share/python-wheels/idna-2.8-py2.py3-none-any.whl
deleted file mode 100644
index ccd236bb6..000000000
Binary files a/auth/share/python-wheels/idna-2.8-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl b/auth/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl
deleted file mode 100644
index d013ec546..000000000
Binary files a/auth/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl b/auth/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl
deleted file mode 100644
index 26ddc279b..000000000
Binary files a/auth/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl b/auth/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl
deleted file mode 100644
index 12ecde965..000000000
Binary files a/auth/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/packaging-20.3-py2.py3-none-any.whl b/auth/share/python-wheels/packaging-20.3-py2.py3-none-any.whl
deleted file mode 100644
index 6978f2aa5..000000000
Binary files a/auth/share/python-wheels/packaging-20.3-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl b/auth/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl
deleted file mode 100644
index 3ce172aef..000000000
Binary files a/auth/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl b/auth/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl
deleted file mode 100644
index 17982ec22..000000000
Binary files a/auth/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl b/auth/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl
deleted file mode 100644
index 4aa6219f4..000000000
Binary files a/auth/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/progress-1.5-py2.py3-none-any.whl b/auth/share/python-wheels/progress-1.5-py2.py3-none-any.whl
deleted file mode 100644
index dfa9185af..000000000
Binary files a/auth/share/python-wheels/progress-1.5-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl b/auth/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl
deleted file mode 100644
index 6ace19132..000000000
Binary files a/auth/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/pytoml-0.1.21-py2.py3-none-any.whl b/auth/share/python-wheels/pytoml-0.1.21-py2.py3-none-any.whl
deleted file mode 100644
index bf9e9b363..000000000
Binary files a/auth/share/python-wheels/pytoml-0.1.21-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl b/auth/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl
deleted file mode 100644
index 34e8c3e13..000000000
Binary files a/auth/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl b/auth/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl
deleted file mode 100644
index bfbb61c83..000000000
Binary files a/auth/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl b/auth/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl
deleted file mode 100644
index a334395f4..000000000
Binary files a/auth/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/six-1.14.0-py2.py3-none-any.whl b/auth/share/python-wheels/six-1.14.0-py2.py3-none-any.whl
deleted file mode 100644
index d49a86467..000000000
Binary files a/auth/share/python-wheels/six-1.14.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl b/auth/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl
deleted file mode 100644
index 00080d686..000000000
Binary files a/auth/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl b/auth/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl
deleted file mode 100644
index 76ff3422b..000000000
Binary files a/auth/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl and /dev/null differ
diff --git a/auth/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl b/auth/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl
deleted file mode 100644
index 772e407fb..000000000
Binary files a/auth/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl and /dev/null differ
diff --git a/flask1-0.01/config.py b/config.py
similarity index 100%
rename from flask1-0.01/config.py
rename to config.py
diff --git a/flask1-0.01/microblog.py b/elearning.py
similarity index 100%
rename from flask1-0.01/microblog.py
rename to elearning.py
diff --git a/loginapp/__init__.py b/loginapp/__init__.py
deleted file mode 100644
index a0da2db12..000000000
--- a/loginapp/__init__.py
+++ /dev/null
@@ -1,35 +0,0 @@
-from flask import Flask
-from flask_sqlalchemy import SQLAlchemy
-from flask_login import LoginManager
-
-# init SQLAlchemy so we can use it later in our models
-db = SQLAlchemy()
-
-def create_app():
- app = Flask(__name__)
-
- app.config['SECRET_KEY'] = '9OLWxND4o83j4K4iuopO'
- app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite'
-
- db.init_app(app)
-
- login_manager = LoginManager()
- login_manager.login_view = 'auth.login'
- login_manager.init_app(app)
-
- from .models import User
-
- @login_manager.user_loader
- def load_user(user_id):
- # since the user_id is just the primary key of our user table, use it in the query for the user
- return User.query.get(int(user_id))
-
- # blueprint for auth routes in our app
- from .auth import auth as auth_blueprint
- app.register_blueprint(auth_blueprint)
-
- # blueprint for non-auth parts of app
- from .main import main as main_blueprint
- app.register_blueprint(main_blueprint)
-
- return app
\ No newline at end of file
diff --git a/loginapp/auth.py b/loginapp/auth.py
deleted file mode 100644
index 324ae8e95..000000000
--- a/loginapp/auth.py
+++ /dev/null
@@ -1,64 +0,0 @@
-from flask import Blueprint, render_template, redirect, url_for, request, flash
-from werkzeug.security import generate_password_hash, check_password_hash
-from flask_login import login_user, logout_user, login_required
-from .models import User
-from . import db
-
-auth = Blueprint('auth', __name__)
-
-@auth.route('/login')
-def login():
- return render_template('login.html')
-
-@auth.route('/login', methods=['POST'])
-def login_post():
- email = request.form.get('email')
- password = request.form.get('password')
- remember = True if request.form.get('remember') else False
-
- user = User.query.filter_by(email=email).first()
-
- # check if user actually exists
- # take the user supplied password, hash it, and compare it to the hashed password in database
- if not user or not check_password_hash(user.password, password):
- flash('Please check your login details and try again.')
- return redirect(url_for('auth.login')) # if user doesn't exist or password is wrong, reload the page
-
- # if the above check passes, then we know the user has the right credentials
- login_user(user, remember=remember)
- return redirect(url_for('main.profile'))
-
-@auth.route('/signup')
-def signup():
- return render_template('signup.html')
-
-@auth.route('/signup', methods=['POST'])
-def signup_post():
-
- email = request.form.get('email')
- name = request.form.get('name')
- password = request.form.get('password')
-
- user = User.query.filter_by(email=email).first() # if this returns a user, then the email already exists in database
-
- if user: # if a user is found, we want to redirect back to signup page so user can try again
- flash('Email address already exists')
- return redirect(url_for('auth.signup'))
-
- # create new user with the form data. Hash the password so plaintext version isn't saved.
- new_user = User(email=email, name=name, password=generate_password_hash(password, method='sha256'))
-
- # add the new user to the database
- db.session.add(new_user)
- db.session.commit()
-
- names = os.listdir(os.path.join(app.static_folder, 'uploads'))
- img_url = url_for('static', filename=os.path.join('uploads', choice(names)))
-
- return redirect(url_for('auth.login', img_url=img_url))
-
-@auth.route('/logout')
-@login_required
-def logout():
- logout_user()
- return redirect(url_for('main.index'))
\ No newline at end of file
diff --git a/loginapp/db.sqlite b/loginapp/db.sqlite
deleted file mode 100644
index e69de29bb..000000000
diff --git a/loginapp/main.py b/loginapp/main.py
deleted file mode 100644
index c6af88b2b..000000000
--- a/loginapp/main.py
+++ /dev/null
@@ -1,59 +0,0 @@
-from flask import Blueprint, render_template, Flask, request, redirect, flash
-from flask_login import login_required, current_user
-from werkzeug.utils import secure_filename
-import os
-
-app = Flask(__name__)
-main = Blueprint('main', __name__)
-
-app.secret_key = "secret key"
-app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024
-
-path = os.getcwd()
-# file Upload
-UPLOAD_FOLDER = os.path.join(path, 'loginapp/uploads')
-
-if not os.path.isdir(UPLOAD_FOLDER):
- os.mkdir(UPLOAD_FOLDER)
-
-app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
-
-
-ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])
-
-
-def allowed_file(filename):
- return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
-
-@main.route('/')
-def index():
- return render_template('index.html')
-
-@main.route('/uploadme')
-def upload_form():
- return render_template('upload.html') # remove Backend folder from master
-
-@main.route('/uploadme', methods=['POST'])
-def uploadme():
- if request.method == 'POST':
- # check if the post request has the file part
- if 'file' not in request.files:
- flash('No file part')
- return redirect(request.url)
- file = request.files['file']
- if file.filename == '':
- flash('No file selected for uploading')
- return redirect(request.url)
- if file and allowed_file(file.filename):
- filename = secure_filename(file.filename)
- file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
- flash('File successfully uploaded')
- return redirect('/login')
- else:
- flash('Allowed file types are txt, pdf, png, jpg, jpeg, gif')
- return redirect(request.url)
-
-@main.route('/profile')
-@login_required
-def profile():
- return render_template('profile.html', name=current_user.name)
\ No newline at end of file
diff --git a/loginapp/models.py b/loginapp/models.py
deleted file mode 100644
index ffda72ccd..000000000
--- a/loginapp/models.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from flask_login import UserMixin
-from . import db
-
-class User(UserMixin, db.Model):
- id = db.Column(db.Integer, primary_key=True) # primary keys are required by SQLAlchemy
- email = db.Column(db.String(100), unique=True)
- password = db.Column(db.String(100))
- name = db.Column(db.String(1000))
\ No newline at end of file
diff --git a/loginapp/static/css/main.css b/loginapp/static/css/main.css
deleted file mode 100644
index 815919883..000000000
--- a/loginapp/static/css/main.css
+++ /dev/null
@@ -1,90 +0,0 @@
-body {
- margin: 0;
- padding: 0;
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- color: #444;
-}
-
-/*
- * Formatting the header area
- */
-
-header {
- background-color: #DFB887;
- height: 35px;
- width: 100%;
- opacity: .9;
- margin-bottom: 10px;
-}
-
-header h1.logo {
- margin: 0;
- font-size: 1.7em;
- color: #fff;
- text-transform: uppercase;
- float: left;
-}
-
-header h1.logo:hover {
- color: #fff;
- text-decoration: none;
-}
-
-/*
- * Centering the body content
- */
-
-.container {
- width: 1200px;
- margin: 0 auto;
-}
-
-div.home {
- padding: 10px 0 30px 0;
- background-color: #E6E6FA;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
-}
-
-div.about {
- padding: 10px 0 30px 0;
- background-color: #E6E6FA;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
-}
-
-h2 {
- font-size: 3em;
- margin-top: 40px;
- text-align: center;
- letter-spacing: -2px;
-}
-
-h3 {
- font-size: 1.7em;
- font-weight: 100;
- margin-top: 30px;
- text-align: center;
- letter-spacing: -1px;
- color: #999;
-}
-
-.menu {
- float: right;
- margin-top: 8px;
-}
-
-.menu li {
- display: inline;
-}
-
-.menu li + li {
- margin-left: 35px;
-}
-
-.menu li a {
- color: #444;
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/loginapp/templates/base.html b/loginapp/templates/base.html
deleted file mode 100644
index 1c60f116e..000000000
--- a/loginapp/templates/base.html
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
-
-
-
- Flask Auth Example
-
-
-
-
-
-
-
- eLearning | Signal Kinetics
-
-
-
-
-
-
-
-
-
-
-
- {% block content %}
- {% endblock %}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/loginapp/templates/index.html b/loginapp/templates/index.html
deleted file mode 100644
index ce45b5656..000000000
--- a/loginapp/templates/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
-{% extends "base.html" %}
-
-{% block content %}
-
- Flask Login Example
-
-
- Easy authentication and authorization in Flask.
-
-{% endblock %}
\ No newline at end of file
diff --git a/loginapp/templates/login.html b/loginapp/templates/login.html
deleted file mode 100644
index 6ec1a6f03..000000000
--- a/loginapp/templates/login.html
+++ /dev/null
@@ -1,36 +0,0 @@
-{% extends "base.html" %}
-
-{% block content %}
-
-
Login
-
- {% with messages = get_flashed_messages() %}
- {% if messages %}
-
- {{ messages[0] }}
-
- {% endif %}
- {% endwith %}
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/loginapp/templates/profile.html b/loginapp/templates/profile.html
deleted file mode 100644
index 7ed6e16c4..000000000
--- a/loginapp/templates/profile.html
+++ /dev/null
@@ -1,7 +0,0 @@
-{% extends "base.html" %}
-
-{% block content %}
-
- Welcome, {{ name }}!
-
-{% endblock %}
\ No newline at end of file
diff --git a/loginapp/templates/signup.html b/loginapp/templates/signup.html
deleted file mode 100644
index d3f5b8a25..000000000
--- a/loginapp/templates/signup.html
+++ /dev/null
@@ -1,37 +0,0 @@
-{% extends "base.html" %}
-
-{% block content %}
-
-
Sign Up
-
- {% with messages = get_flashed_messages() %}
- {% if messages %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/loginapp/templates/upload.html b/loginapp/templates/upload.html
deleted file mode 100644
index 18e8c2678..000000000
--- a/loginapp/templates/upload.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-Python Flask Multiple Files Upload Example
-
Select file to upload
-
- {% with messages = get_flashed_messages() %}
- {% if messages %}
-
- {% for message in messages %}
-
{{ message }}
- {% endfor %}
-
- {% endif %}
- {% endwith %}
-
-
\ No newline at end of file
diff --git a/loginapp/uploads/2020_01_20_cool-galaxy-hoodie-13797859.png b/loginapp/uploads/2020_01_20_cool-galaxy-hoodie-13797859.png
deleted file mode 100644
index fa0845e65..000000000
Binary files a/loginapp/uploads/2020_01_20_cool-galaxy-hoodie-13797859.png and /dev/null differ
diff --git a/loginapp/uploads/24250.jpg b/loginapp/uploads/24250.jpg
deleted file mode 100644
index 4f545a309..000000000
Binary files a/loginapp/uploads/24250.jpg and /dev/null differ
diff --git a/flask1-0.01/migrations/README b/migrations/README
similarity index 100%
rename from flask1-0.01/migrations/README
rename to migrations/README
diff --git a/flask1-0.01/migrations/alembic.ini b/migrations/alembic.ini
similarity index 100%
rename from flask1-0.01/migrations/alembic.ini
rename to migrations/alembic.ini
diff --git a/flask1-0.01/migrations/env.py b/migrations/env.py
similarity index 100%
rename from flask1-0.01/migrations/env.py
rename to migrations/env.py
diff --git a/flask1-0.01/migrations/script.py.mako b/migrations/script.py.mako
similarity index 100%
rename from flask1-0.01/migrations/script.py.mako
rename to migrations/script.py.mako
diff --git a/flask1-0.01/migrations/versions/76c86cb9832b_followers.py b/migrations/versions/76c86cb9832b_followers.py
similarity index 100%
rename from flask1-0.01/migrations/versions/76c86cb9832b_followers.py
rename to migrations/versions/76c86cb9832b_followers.py
diff --git a/flask1-0.01/migrations/versions/eb54505e6fb3_users_table.py b/migrations/versions/eb54505e6fb3_users_table.py
similarity index 100%
rename from flask1-0.01/migrations/versions/eb54505e6fb3_users_table.py
rename to migrations/versions/eb54505e6fb3_users_table.py
diff --git a/react-frontend/.bowerrc b/react-frontend/.bowerrc
deleted file mode 100644
index 66f1c178b..000000000
--- a/react-frontend/.bowerrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "directory": "./project/static/bower_components"
-}
\ No newline at end of file
diff --git a/react-frontend/.gitignore b/react-frontend/.gitignore
deleted file mode 100644
index 3f9ecefd4..000000000
--- a/react-frontend/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-*.DS_Store
-*.pyc
-.git
-
-env
-venv
-
-node_modules/
-npm-debug.log
-bower_components/
-.module-cache
\ No newline at end of file
diff --git a/react-frontend/README.md b/react-frontend/README.md
deleted file mode 100644
index c983cb6f3..000000000
--- a/react-frontend/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-[Jira issue](https://signal-kinetics.atlassian.net/browse/AAH2-18?atlOrigin=eyJpIjoiZTQzNDJiOWIwMTZiNDkyZDkxYjI0NzliMjUzMmRjY2YiLCJwIjoiaiJ9)
-[Documentatio](https://acord.software/stellarios/docs/elearning)[n](https://realpython.com/the-ultimate-flask-front-end/)
-
-### Python3 Packages/Libraries/Modules - Pip:
-All stored (for this project, [`react-frontend`](https://github.com/signal-k/elearning/tree/flask-file-upload/react-frontend)) in the virtual environment (Python) `frontvenv`. Other libraries for other projects are stored in root repo/`auth`
-* Pip
-* Flask
-* See [`requirements.txt`](https://github.com/signal-k/elearning/blob/flask-file-upload/react-frontend/requirements.txt)
\ No newline at end of file
diff --git a/react-frontend/bower.json b/react-frontend/bower.json
deleted file mode 100644
index 4dbe4d0bc..000000000
--- a/react-frontend/bower.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "ultimate-flask-front-end",
- "homepage": "https://github.com/Signal-K/elearning",
- "description": "Flask & react frontend for signal-k on github",
- "main": "",
- "authors": [
- "Liam Arbuckle (Gizmotronn)"
- ],
- "license": "MIT",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "dependencies": {
- "bootstrap": "^3.3.6",
- "react": "^15.1.0"
- }
-}
\ No newline at end of file
diff --git a/react-frontend/frontvenv/bin/Activate.ps1 b/react-frontend/frontvenv/bin/Activate.ps1
deleted file mode 100644
index 2fb3852c3..000000000
--- a/react-frontend/frontvenv/bin/Activate.ps1
+++ /dev/null
@@ -1,241 +0,0 @@
-<#
-.Synopsis
-Activate a Python virtual environment for the current PowerShell session.
-
-.Description
-Pushes the python executable for a virtual environment to the front of the
-$Env:PATH environment variable and sets the prompt to signify that you are
-in a Python virtual environment. Makes use of the command line switches as
-well as the `pyvenv.cfg` file values present in the virtual environment.
-
-.Parameter VenvDir
-Path to the directory that contains the virtual environment to activate. The
-default value for this is the parent of the directory that the Activate.ps1
-script is located within.
-
-.Parameter Prompt
-The prompt prefix to display when this virtual environment is activated. By
-default, this prompt is the name of the virtual environment folder (VenvDir)
-surrounded by parentheses and followed by a single space (ie. '(.venv) ').
-
-.Example
-Activate.ps1
-Activates the Python virtual environment that contains the Activate.ps1 script.
-
-.Example
-Activate.ps1 -Verbose
-Activates the Python virtual environment that contains the Activate.ps1 script,
-and shows extra information about the activation as it executes.
-
-.Example
-Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
-Activates the Python virtual environment located in the specified location.
-
-.Example
-Activate.ps1 -Prompt "MyPython"
-Activates the Python virtual environment that contains the Activate.ps1 script,
-and prefixes the current prompt with the specified string (surrounded in
-parentheses) while the virtual environment is active.
-
-.Notes
-On Windows, it may be required to enable this Activate.ps1 script by setting the
-execution policy for the user. You can do this by issuing the following PowerShell
-command:
-
-PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
-
-For more information on Execution Policies:
-https://go.microsoft.com/fwlink/?LinkID=135170
-
-#>
-Param(
- [Parameter(Mandatory = $false)]
- [String]
- $VenvDir,
- [Parameter(Mandatory = $false)]
- [String]
- $Prompt
-)
-
-<# Function declarations --------------------------------------------------- #>
-
-<#
-.Synopsis
-Remove all shell session elements added by the Activate script, including the
-addition of the virtual environment's Python executable from the beginning of
-the PATH variable.
-
-.Parameter NonDestructive
-If present, do not remove this function from the global namespace for the
-session.
-
-#>
-function global:deactivate ([switch]$NonDestructive) {
- # Revert to original values
-
- # The prior prompt:
- if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
- Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
- Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
- }
-
- # The prior PYTHONHOME:
- if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
- Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
- Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
- }
-
- # The prior PATH:
- if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
- Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
- Remove-Item -Path Env:_OLD_VIRTUAL_PATH
- }
-
- # Just remove the VIRTUAL_ENV altogether:
- if (Test-Path -Path Env:VIRTUAL_ENV) {
- Remove-Item -Path env:VIRTUAL_ENV
- }
-
- # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
- if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
- Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
- }
-
- # Leave deactivate function in the global namespace if requested:
- if (-not $NonDestructive) {
- Remove-Item -Path function:deactivate
- }
-}
-
-<#
-.Description
-Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
-given folder, and returns them in a map.
-
-For each line in the pyvenv.cfg file, if that line can be parsed into exactly
-two strings separated by `=` (with any amount of whitespace surrounding the =)
-then it is considered a `key = value` line. The left hand string is the key,
-the right hand is the value.
-
-If the value starts with a `'` or a `"` then the first and last character is
-stripped from the value before being captured.
-
-.Parameter ConfigDir
-Path to the directory that contains the `pyvenv.cfg` file.
-#>
-function Get-PyVenvConfig(
- [String]
- $ConfigDir
-) {
- Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
-
- # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
- $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
-
- # An empty map will be returned if no config file is found.
- $pyvenvConfig = @{ }
-
- if ($pyvenvConfigPath) {
-
- Write-Verbose "File exists, parse `key = value` lines"
- $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
-
- $pyvenvConfigContent | ForEach-Object {
- $keyval = $PSItem -split "\s*=\s*", 2
- if ($keyval[0] -and $keyval[1]) {
- $val = $keyval[1]
-
- # Remove extraneous quotations around a string value.
- if ("'""".Contains($val.Substring(0, 1))) {
- $val = $val.Substring(1, $val.Length - 2)
- }
-
- $pyvenvConfig[$keyval[0]] = $val
- Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
- }
- }
- }
- return $pyvenvConfig
-}
-
-
-<# Begin Activate script --------------------------------------------------- #>
-
-# Determine the containing directory of this script
-$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
-$VenvExecDir = Get-Item -Path $VenvExecPath
-
-Write-Verbose "Activation script is located in path: '$VenvExecPath'"
-Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
-Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
-
-# Set values required in priority: CmdLine, ConfigFile, Default
-# First, get the location of the virtual environment, it might not be
-# VenvExecDir if specified on the command line.
-if ($VenvDir) {
- Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
-}
-else {
- Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
- $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
- Write-Verbose "VenvDir=$VenvDir"
-}
-
-# Next, read the `pyvenv.cfg` file to determine any required value such
-# as `prompt`.
-$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
-
-# Next, set the prompt from the command line, or the config file, or
-# just use the name of the virtual environment folder.
-if ($Prompt) {
- Write-Verbose "Prompt specified as argument, using '$Prompt'"
-}
-else {
- Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
- if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
- Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
- $Prompt = $pyvenvCfg['prompt'];
- }
- else {
- Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virutal environment)"
- Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
- $Prompt = Split-Path -Path $venvDir -Leaf
- }
-}
-
-Write-Verbose "Prompt = '$Prompt'"
-Write-Verbose "VenvDir='$VenvDir'"
-
-# Deactivate any currently active virtual environment, but leave the
-# deactivate function in place.
-deactivate -nondestructive
-
-# Now set the environment variable VIRTUAL_ENV, used by many tools to determine
-# that there is an activated venv.
-$env:VIRTUAL_ENV = $VenvDir
-
-if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
-
- Write-Verbose "Setting prompt to '$Prompt'"
-
- # Set the prompt to include the env name
- # Make sure _OLD_VIRTUAL_PROMPT is global
- function global:_OLD_VIRTUAL_PROMPT { "" }
- Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
- New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
-
- function global:prompt {
- Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
- _OLD_VIRTUAL_PROMPT
- }
-}
-
-# Clear PYTHONHOME
-if (Test-Path -Path Env:PYTHONHOME) {
- Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
- Remove-Item -Path Env:PYTHONHOME
-}
-
-# Add the venv to the PATH
-Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
-$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
diff --git a/react-frontend/frontvenv/bin/activate b/react-frontend/frontvenv/bin/activate
deleted file mode 100644
index f595337ee..000000000
--- a/react-frontend/frontvenv/bin/activate
+++ /dev/null
@@ -1,76 +0,0 @@
-# This file must be used with "source bin/activate" *from bash*
-# you cannot run it directly
-
-deactivate () {
- # reset old environment variables
- if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
- PATH="${_OLD_VIRTUAL_PATH:-}"
- export PATH
- unset _OLD_VIRTUAL_PATH
- fi
- if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
- PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
- export PYTHONHOME
- unset _OLD_VIRTUAL_PYTHONHOME
- fi
-
- # This should detect bash and zsh, which have a hash command that must
- # be called to get it to forget past commands. Without forgetting
- # past commands the $PATH changes we made may not be respected
- if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
- hash -r
- fi
-
- if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
- PS1="${_OLD_VIRTUAL_PS1:-}"
- export PS1
- unset _OLD_VIRTUAL_PS1
- fi
-
- unset VIRTUAL_ENV
- if [ ! "${1:-}" = "nondestructive" ] ; then
- # Self destruct!
- unset -f deactivate
- fi
-}
-
-# unset irrelevant variables
-deactivate nondestructive
-
-VIRTUAL_ENV="/home/codespace/workspace/elearning/react-frontend/frontvenv"
-export VIRTUAL_ENV
-
-_OLD_VIRTUAL_PATH="$PATH"
-PATH="$VIRTUAL_ENV/bin:$PATH"
-export PATH
-
-# unset PYTHONHOME if set
-# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
-# could use `if (set -u; : $PYTHONHOME) ;` in bash
-if [ -n "${PYTHONHOME:-}" ] ; then
- _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
- unset PYTHONHOME
-fi
-
-if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
- _OLD_VIRTUAL_PS1="${PS1:-}"
- if [ "x(frontvenv) " != x ] ; then
- PS1="(frontvenv) ${PS1:-}"
- else
- if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
- # special case for Aspen magic directories
- # see http://www.zetadev.com/software/aspen/
- PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
- else
- PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
- fi
- fi
- export PS1
-fi
-
-# This should detect bash and zsh, which have a hash command that must
-# be called to get it to forget past commands. Without forgetting
-# past commands the $PATH changes we made may not be respected
-if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
- hash -r
-fi
diff --git a/react-frontend/frontvenv/bin/activate.csh b/react-frontend/frontvenv/bin/activate.csh
deleted file mode 100644
index 6dcfafd81..000000000
--- a/react-frontend/frontvenv/bin/activate.csh
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file must be used with "source bin/activate.csh" *from csh*.
-# You cannot run it directly.
-# Created by Davide Di Blasi .
-# Ported to Python 3.3 venv by Andrew Svetlov
-
-alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate'
-
-# Unset irrelevant variables.
-deactivate nondestructive
-
-setenv VIRTUAL_ENV "/home/codespace/workspace/elearning/react-frontend/frontvenv"
-
-set _OLD_VIRTUAL_PATH="$PATH"
-setenv PATH "$VIRTUAL_ENV/bin:$PATH"
-
-
-set _OLD_VIRTUAL_PROMPT="$prompt"
-
-if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
- if ("frontvenv" != "") then
- set env_name = "frontvenv"
- else
- if (`basename "VIRTUAL_ENV"` == "__") then
- # special case for Aspen magic directories
- # see http://www.zetadev.com/software/aspen/
- set env_name = `basename \`dirname "$VIRTUAL_ENV"\``
- else
- set env_name = `basename "$VIRTUAL_ENV"`
- endif
- endif
- set prompt = "[$env_name] $prompt"
- unset env_name
-endif
-
-alias pydoc python -m pydoc
-
-rehash
diff --git a/react-frontend/frontvenv/bin/activate.fish b/react-frontend/frontvenv/bin/activate.fish
deleted file mode 100644
index d385678cf..000000000
--- a/react-frontend/frontvenv/bin/activate.fish
+++ /dev/null
@@ -1,75 +0,0 @@
-# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org)
-# you cannot run it directly
-
-function deactivate -d "Exit virtualenv and return to normal shell environment"
- # reset old environment variables
- if test -n "$_OLD_VIRTUAL_PATH"
- set -gx PATH $_OLD_VIRTUAL_PATH
- set -e _OLD_VIRTUAL_PATH
- end
- if test -n "$_OLD_VIRTUAL_PYTHONHOME"
- set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
- set -e _OLD_VIRTUAL_PYTHONHOME
- end
-
- if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
- functions -e fish_prompt
- set -e _OLD_FISH_PROMPT_OVERRIDE
- functions -c _old_fish_prompt fish_prompt
- functions -e _old_fish_prompt
- end
-
- set -e VIRTUAL_ENV
- if test "$argv[1]" != "nondestructive"
- # Self destruct!
- functions -e deactivate
- end
-end
-
-# unset irrelevant variables
-deactivate nondestructive
-
-set -gx VIRTUAL_ENV "/home/codespace/workspace/elearning/react-frontend/frontvenv"
-
-set -gx _OLD_VIRTUAL_PATH $PATH
-set -gx PATH "$VIRTUAL_ENV/bin" $PATH
-
-# unset PYTHONHOME if set
-if set -q PYTHONHOME
- set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
- set -e PYTHONHOME
-end
-
-if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
- # fish uses a function instead of an env var to generate the prompt.
-
- # save the current fish_prompt function as the function _old_fish_prompt
- functions -c fish_prompt _old_fish_prompt
-
- # with the original prompt function renamed, we can override with our own.
- function fish_prompt
- # Save the return status of the last command
- set -l old_status $status
-
- # Prompt override?
- if test -n "(frontvenv) "
- printf "%s%s" "(frontvenv) " (set_color normal)
- else
- # ...Otherwise, prepend env
- set -l _checkbase (basename "$VIRTUAL_ENV")
- if test $_checkbase = "__"
- # special case for Aspen magic directories
- # see http://www.zetadev.com/software/aspen/
- printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal)
- else
- printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal)
- end
- end
-
- # Restore the return status of the previous command.
- echo "exit $old_status" | .
- _old_fish_prompt
- end
-
- set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
-end
diff --git a/react-frontend/frontvenv/bin/easy_install b/react-frontend/frontvenv/bin/easy_install
deleted file mode 100755
index 798c71fb6..000000000
--- a/react-frontend/frontvenv/bin/easy_install
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/home/codespace/workspace/elearning/react-frontend/frontvenv/bin/python3
-# -*- coding: utf-8 -*-
-import re
-import sys
-from setuptools.command.easy_install import main
-if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
- sys.exit(main())
diff --git a/react-frontend/frontvenv/bin/easy_install-3.8 b/react-frontend/frontvenv/bin/easy_install-3.8
deleted file mode 100755
index 798c71fb6..000000000
--- a/react-frontend/frontvenv/bin/easy_install-3.8
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/home/codespace/workspace/elearning/react-frontend/frontvenv/bin/python3
-# -*- coding: utf-8 -*-
-import re
-import sys
-from setuptools.command.easy_install import main
-if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
- sys.exit(main())
diff --git a/react-frontend/frontvenv/bin/pip b/react-frontend/frontvenv/bin/pip
deleted file mode 100755
index bb200aab2..000000000
--- a/react-frontend/frontvenv/bin/pip
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/home/codespace/workspace/elearning/react-frontend/frontvenv/bin/python3
-# -*- coding: utf-8 -*-
-import re
-import sys
-from pip._internal.cli.main import main
-if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
- sys.exit(main())
diff --git a/react-frontend/frontvenv/bin/pip3 b/react-frontend/frontvenv/bin/pip3
deleted file mode 100755
index bb200aab2..000000000
--- a/react-frontend/frontvenv/bin/pip3
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/home/codespace/workspace/elearning/react-frontend/frontvenv/bin/python3
-# -*- coding: utf-8 -*-
-import re
-import sys
-from pip._internal.cli.main import main
-if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
- sys.exit(main())
diff --git a/react-frontend/frontvenv/bin/pip3.8 b/react-frontend/frontvenv/bin/pip3.8
deleted file mode 100755
index bb200aab2..000000000
--- a/react-frontend/frontvenv/bin/pip3.8
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/home/codespace/workspace/elearning/react-frontend/frontvenv/bin/python3
-# -*- coding: utf-8 -*-
-import re
-import sys
-from pip._internal.cli.main import main
-if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
- sys.exit(main())
diff --git a/react-frontend/frontvenv/bin/python b/react-frontend/frontvenv/bin/python
deleted file mode 120000
index b8a0adbbb..000000000
--- a/react-frontend/frontvenv/bin/python
+++ /dev/null
@@ -1 +0,0 @@
-python3
\ No newline at end of file
diff --git a/react-frontend/frontvenv/bin/python3 b/react-frontend/frontvenv/bin/python3
deleted file mode 120000
index ae65fdaa1..000000000
--- a/react-frontend/frontvenv/bin/python3
+++ /dev/null
@@ -1 +0,0 @@
-/usr/bin/python3
\ No newline at end of file
diff --git a/react-frontend/frontvenv/lib64 b/react-frontend/frontvenv/lib64
deleted file mode 120000
index 7951405f8..000000000
--- a/react-frontend/frontvenv/lib64
+++ /dev/null
@@ -1 +0,0 @@
-lib
\ No newline at end of file
diff --git a/react-frontend/frontvenv/pyvenv.cfg b/react-frontend/frontvenv/pyvenv.cfg
deleted file mode 100644
index 8dbc2bab8..000000000
--- a/react-frontend/frontvenv/pyvenv.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-home = /usr/bin
-include-system-site-packages = false
-version = 3.8.5
diff --git a/react-frontend/frontvenv/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl
deleted file mode 100644
index bd54b9bf4..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl
deleted file mode 100644
index a52728b76..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl
deleted file mode 100644
index 77ec5fbdf..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl
deleted file mode 100644
index 09a68abf4..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl
deleted file mode 100644
index 071333268..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl
deleted file mode 100644
index c0e697532..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl
deleted file mode 100644
index 819ffabc9..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl
deleted file mode 100644
index 78243cc0b..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl
deleted file mode 100644
index dd1359688..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/idna-2.8-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/idna-2.8-py2.py3-none-any.whl
deleted file mode 100644
index ccd236bb6..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/idna-2.8-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl
deleted file mode 100644
index d013ec546..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl
deleted file mode 100644
index 26ddc279b..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl
deleted file mode 100644
index 12ecde965..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/packaging-20.3-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/packaging-20.3-py2.py3-none-any.whl
deleted file mode 100644
index 6978f2aa5..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/packaging-20.3-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl
deleted file mode 100644
index 3ce172aef..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl
deleted file mode 100644
index 17982ec22..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl
deleted file mode 100644
index 4aa6219f4..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/progress-1.5-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/progress-1.5-py2.py3-none-any.whl
deleted file mode 100644
index dfa9185af..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/progress-1.5-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl
deleted file mode 100644
index 6ace19132..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/pytoml-0.1.21-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/pytoml-0.1.21-py2.py3-none-any.whl
deleted file mode 100644
index bf9e9b363..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/pytoml-0.1.21-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl
deleted file mode 100644
index 34e8c3e13..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl
deleted file mode 100644
index bfbb61c83..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl
deleted file mode 100644
index a334395f4..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/six-1.14.0-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/six-1.14.0-py2.py3-none-any.whl
deleted file mode 100644
index d49a86467..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/six-1.14.0-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl
deleted file mode 100644
index 00080d686..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl
deleted file mode 100644
index 76ff3422b..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/frontvenv/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl b/react-frontend/frontvenv/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl
deleted file mode 100644
index 772e407fb..000000000
Binary files a/react-frontend/frontvenv/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl and /dev/null differ
diff --git a/react-frontend/package-lock.json b/react-frontend/package-lock.json
deleted file mode 100644
index 55c8ac0c0..000000000
--- a/react-frontend/package-lock.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": "react-frontend",
- "version": "1.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "bower": {
- "version": "1.8.12",
- "resolved": "https://registry.npmjs.org/bower/-/bower-1.8.12.tgz",
- "integrity": "sha512-u1xy9SrwwoPlgjuHNjhV+YUPVdqyBj2ALBxuzeIUKXaPI2i2xypGgxqXkuHcITGdi5yBj5JuXgyMvgiWiS1S3Q==",
- "dev": true
- }
- }
-}
diff --git a/react-frontend/package.json b/react-frontend/package.json
deleted file mode 100644
index 6a2b28a9c..000000000
--- a/react-frontend/package.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": "react-frontend",
- "version": "1.0.0",
- "description": "[Jira issue](https://signal-kinetics.atlassian.net/browse/AAH2-18?atlOrigin=eyJpIjoiZTQzNDJiOWIwMTZiNDkyZDkxYjI0NzliMjUzMmRjY2YiLCJwIjoiaiJ9) [Documentatio](https://acord.software/stellarios/docs/elearning)[n](https://realpython.com/the-ultimate-flask-front-end/)",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "author": "",
- "license": "ISC",
- "devDependencies": {
- "bower": "^1.8.12"
- }
-}
diff --git a/react-frontend/project/app.py b/react-frontend/project/app.py
deleted file mode 100644
index 62b190f87..000000000
--- a/react-frontend/project/app.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from flask import Flask, render_template
-
-app = Flask(__name__)
-
-
-@app.route('/')
-def index():
- return render_template('index.html')
-
-
-@app.route('/hello')
-def hello():
- return render_template('hello.html')
-
-
-if __name__ == '__main__':
- app.run(debug=True)
diff --git a/react-frontend/project/static/styles/style.css b/react-frontend/project/static/styles/style.css
deleted file mode 100644
index 5f90642b8..000000000
--- a/react-frontend/project/static/styles/style.css
+++ /dev/null
@@ -1,309 +0,0 @@
-@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");
-@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500,700,400");
-* {
- box-sizing: border-box;
-}
-.animate-enter {
- animation: animate-enter-frames 0.2s ease-in-out 0s 1 normal forwards;
- display: block;
- opacity: 0;
- transform: translate(-25px, 0);
-}
-.dashboard-home {
- align-items: flex-start;
- background-color: white;
- display: flex;
- width: 1440px;
-}
-.dashboard-home .auto-flex {
- align-items: flex-start;
- display: flex;
- flex-direction: column;
- margin-left: 11px;
- min-height: 248px;
- width: 334px;
-}
-.dashboard-home .auto-flex-item {
- height: 62px;
- letter-spacing: 0px;
- min-height: 62px;
- width: 334px;
-}
-.dashboard-home .auto-flex1 {
- align-items: flex-start;
- display: flex;
- flex-direction: column;
- margin-bottom: 1px;
- min-height: 209px;
- width: 29px;
-}
-.dashboard-home .avatar-bg {
- height: 140px;
- left: 0px;
- position: absolute;
- top: 8px;
- width: 140px;
-}
-.dashboard-home .avatar-divider {
- height: 1px;
- left: 0px;
- position: absolute;
- top: 352px;
- width: 400px;
-}
-.dashboard-home .bxbxs-user {
- align-items: flex-start;
- display: flex;
- height: 24px;
- margin-left: 4px;
- margin-top: 37px;
- padding: 2px 3px;
- width: 24px;
-}
-.dashboard-home .course-name {
- height: 37px;
- letter-spacing: 0px;
- min-height: 37px;
- width: 943px;
-}
-.dashboard-home .ellipse {
- display: block;
- height: 140px;
- left: 11px;
- object-fit: cover;
- position: absolute;
- top: 0px;
- width: 140px;
- opacity: 0;
- transform: translate(-25px, 0);
-}
-.dashboard-home .ellipse- {
- height: 8px;
- margin-left: 4px;
- width: 8px;
-}
-.dashboard-home .ellipse-1 {
- height: 8px;
- width: 8px;
-}
-.dashboard-home .evasettings-2-fill {
- align-items: center;
- display: flex;
- height: 24px;
- margin-left: 3px;
- margin-top: 37px;
- padding: 0 2px;
- width: 24px;
-}
-.dashboard-home .group-1 {
- align-items: center;
- display: flex;
- height: 248px;
- left: 28px;
- min-width: 380px;
- position: absolute;
- top: 372px;
-}
-.dashboard-home .group-2 {
- align-items: flex-start;
- align-self: center;
- display: flex;
- margin-left: 70px;
- margin-top: 8px;
- min-width: 151px;
-}
-.dashboard-home .group-3 {
- align-items: flex-start;
- background-image: url(https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/603378e4fc3aec52973e709b/img/user-avatar-bg@2x.svg);
- background-size: 100% 100%;
- display: flex;
- height: 352px;
- left: 0px;
- min-width: 400px;
- padding: 20px;
- position: absolute;
- top: 0px;
-}
-.dashboard-home .icbaseline-dashboard {
- align-items: center;
- display: flex;
- height: 24px;
- padding: 0 3px;
- width: 24px;
-}
-.dashboard-home .menu-divider-right {
- height: 1024px;
- left: 399px;
- position: absolute;
- top: 0px;
- width: 1px;
-}
-.dashboard-home .name {
- left: 150px;
- letter-spacing: 0px;
- position: absolute;
- text-align: center;
- top: 268px;
- width: 101px;
-}
-.dashboard-home .nav {
- align-items: flex-start;
- display: flex;
- min-width: 404px;
-}
-.dashboard-home .nav-menu {
- align-items: flex-start;
- display: flex;
- min-width: 32px;
-}
-.dashboard-home .overlap-group {
- height: 1024px;
- position: relative;
- width: 408px;
-}
-.dashboard-home .overlap-group1 {
- height: 20px;
- position: relative;
- width: 20px;
-}
-.dashboard-home .overlap-group1-1 {
- height: 148px;
- position: relative;
- width: 151px;
-}
-.dashboard-home .php-dev-and-writer {
- left: 120px;
- letter-spacing: 0px;
- position: absolute;
- text-align: center;
- top: 300px;
- width: 161px;
-}
-.dashboard-home .rectangle-1 {
- background-color: white;
- height: 672px;
- left: 0px;
- position: absolute;
- top: 352px;
- width: 400px;
-}
-.dashboard-home .text {
- align-items: flex-start;
- display: flex;
- flex-direction: column;
- margin-left: 46px;
- margin-top: 100px;
- min-height: 433px;
- width: 947px;
-}
-.dashboard-home .text-1 {
- letter-spacing: 0px;
- margin-top: 21px;
- min-height: 317px;
- width: 943px;
-}
-.dashboard-home .title {
- height: 37px;
- letter-spacing: 0px;
- margin-top: 21px;
- min-height: 37px;
- width: 943px;
-}
-.dashboard-home .vector {
- height: 18px;
- width: 18px;
-}
-.dashboard-home .vector-1 {
- height: 27px;
- margin-top: -0.5px;
- width: 23px;
-}
-.dashboard-home .vector-2 {
- height: 19px;
- width: 18px;
-}
-.dashboard-home .vector-3 {
- height: 4px;
- left: 8px;
- position: absolute;
- top: 8px;
- width: 4px;
-}
-.dashboard-home .vector-4 {
- height: 20px;
- left: 0px;
- position: absolute;
- top: 0px;
- width: 20px;
-}
-.dashboard-home .wpfbooks {
- align-items: flex-start;
- display: flex;
- height: 26px;
- margin-left: 3px;
- margin-top: 37px;
- overflow: hidden;
- padding: 0 1.5px;
- width: 26px;
-}
-.notosansjp-bold-black-12px {
- color: black;
- font-family: "Noto Sans JP", Helvetica, Arial, serif;
- font-size: 12px;
- font-style: normal;
- font-weight: 700;
-}
-.notosansjp-bold-chicago-24px {
- color: var(--chicago);
- font-family: "Noto Sans JP", Helvetica, Arial, serif;
- font-size: 24px;
- font-style: normal;
- font-weight: 700;
-}
-.notosansjp-bold-chicago-32px {
- color: var(--chicago);
- font-family: "Noto Sans JP", Helvetica, Arial, serif;
- font-size: 32px;
- font-style: normal;
- font-weight: 700;
-}
-.notosansjp-medium-black-14px {
- color: black;
- font-family: "Noto Sans JP", Helvetica, Arial, serif;
- font-size: 14px;
- font-style: normal;
- font-weight: 500;
-}
-.notosansjp-normal-chicago-18px {
- color: var(--chicago);
- font-family: "Noto Sans JP", Helvetica, Arial, serif;
- font-size: 18px;
- font-style: normal;
- font-weight: 400;
-}
-.notosansjp-normal-gravel-18px {
- color: var(--gravel);
- font-family: "Noto Sans JP", Helvetica, Arial, serif;
- font-size: 18px;
- font-style: normal;
- font-weight: 400;
-}
-:root {
- --chicago: rgba(94, 94, 94, 1);
- --gravel: rgba(74, 74, 74, 1);
-}
-@keyframes animate-enter-frames {
- from {
- opacity: 0;
- transform: translate(-25px, 0);
- }
- to {
- opacity: 1;
- transform: translate(0, 0);
- }
-}
-.valign-text-middle {
- display: flex;
- flex-direction: column;
- justify-content: center;
-}
diff --git a/react-frontend/project/templates/hello.html b/react-frontend/project/templates/hello.html
deleted file mode 100644
index 85803797c..000000000
--- a/react-frontend/project/templates/hello.html
+++ /dev/null
@@ -1,167 +0,0 @@
-
-
-
-
- Flask React
-
-
-
-
-
-
Flask React
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/react-frontend/project/templates/index.html b/react-frontend/project/templates/index.html
deleted file mode 100644
index a6520d781..000000000
--- a/react-frontend/project/templates/index.html
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
-
- Flask React
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Dashboard
-
Courses
-
Account
-
Settings
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
PHP dev and writer
-
John Jones
-
-
-
-
-
Course Name
-
Title
-
- Tellus quam eget velit in volutpat diam ligula elementum vehicula. Tempus convallis eget enim sit. Elementum
- volutpat dui ac magnis faucibus gravida. Sagittis orci, scelerisque libero proin sed quam pulvinar enim tortor.
- Egestas tincidunt ultrices sed tincidunt. Laoreet a, amet, sed mattis. Imperdiet vitae, nisi odio ac accumsan.
- Auctor fermentum ac tincidunt nibh pulvinar tempor vitae placerat. Egestas nunc non varius netus gravida auctor
- netus ipsum. Tellus dictum enim mi in dignissim sodales eu. At nulla massa leo hac. Porta neque, donec
- pharetra nec. Amet ultricies diam, adipiscing ornare pulvinar tincidunt nec non donec. Ornare accumsan,
- consectetur sed nunc, eleifend. Sed enim id a ac iaculis nulla mattis metus ac. Cras tristique purus lorem
- bibendum. Arcu tortor netus libero feugiat sed sit mollis vel aliquam. Gravida ac gravida consectetur nibh
- fermentum laoreet. Massa mi, amet feugiat netus euismod pharetra, blandit faucibus. Ultrices sagittis, interdum
- diam viverra magna at sem sed orci. Urna, nisi, enim euismod nibh ultricies. Tempus praesent eros, sed
- pellentesque nulla ut in sed. Massa consequat purus ut et netus laoreet varius. Iaculis phasellus varius arcu
- malesuada tellus adipiscing tortor.
-
- );
-}
-const bxbxsuserrectangleData = {
- vector: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/6034a28d28d51b57ae00fc50/img/vector@2x.svg",
-};
-
-const bxbxsuserrectangle2Data = {
- vector: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/603378e4fc3aec52973e709b/img/vector-2@2x.svg",
-};
-
-const DashboardHomeData = {
- menuDividerRight: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/603378e4fc3aec52973e709b/img/menu-divider-right@1x.svg",
- vector: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/603378e4fc3aec52973e709b/img/vector@2x.svg",
- vector2: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/6034a28d28d51b57ae00fc50/img/vector-2@2x.svg",
- vector3: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/603378e4fc3aec52973e709b/img/vector-3@2x.svg",
- vector4: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/6034a28d28d51b57ae00fc50/img/vector-5@2x.svg",
- dashboard: "Dashboard",
- courses: "Courses",
- account: "Account",
- settings: "Settings",
- group3: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/603378e4fc3aec52973e709b/img/user-avatar-bg@2x.svg",
- ellipse1: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/603378e4fc3aec52973e709b/img/ellipse-1@2x.svg",
- ellipse2: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/603378e4fc3aec52973e709b/img/ellipse-1@2x.svg",
- ellipse3: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/603378e4fc3aec52973e709b/img/ellipse-1@2x.svg",
- avatarBg: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/603378e4fc3aec52973e709b/img/avatar-bg@2x.svg",
- ellipse: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/6033843c254106bb236e6181/img/ellipse@2x.svg",
- phpDevAndWriter: "PHP dev and writer",
- name: "John Jones",
- avatarDivider: "https://anima-uploads.s3.amazonaws.com/projects/603378ce329c7b99b7b85ee0/releases/603378e4fc3aec52973e709b/img/avatar-divider@2x.svg",
- courseName: "Course Name",
- title: "Title",
- text1: "<>Tellus quam eget velit in volutpat diam ligula elementum vehicula. Tempus convallis eget enim sit. Elementum volutpat dui ac magnis faucibus gravida. Sagittis orci, scelerisque libero proin sed quam pulvinar enim tortor. Egestas tincidunt ultrices sed tincidunt. Laoreet a, amet, sed mattis. Imperdiet vitae, nisi odio ac accumsan. Auctor fermentum ac tincidunt nibh pulvinar tempor vitae placerat. Egestas nunc non varius netus gravida auctor netus ipsum. Tellus dictum enim mi in dignissim sodales eu. At nulla massa leo hac. Porta neque, donec pharetra nec. Amet ultricies diam, adipiscing ornare pulvinar tincidunt nec non donec. Ornare accumsan, consectetur sed nunc, eleifend. Sed enim id a ac iaculis nulla mattis metus ac. Cras tristique purus lorem bibendum. Arcu tortor netus libero feugiat sed sit mollis vel aliquam. Gravida ac gravida consectetur nibh fermentum laoreet. Massa mi, amet feugiat netus euismod pharetra, blandit faucibus. Ultrices sagittis, interdum diam viverra magna at sem sed orci. Urna, nisi, enim euismod nibh ultricies. Tempus praesent eros, sed pellentesque nulla ut in sed. Massa consequat purus ut et netus laoreet varius. Iaculis phasellus varius arcu malesuada tellus adipiscing tortor.>",
- bxbxsuserrectangleProps: bxbxsuserrectangleData,
- bxbxsuserrectangle2Props: bxbxsuserrectangle2Data,
-};
-
diff --git a/react-frontend/requirements.txt b/react-frontend/requirements.txt
deleted file mode 100644
index 632a1efab..000000000
--- a/react-frontend/requirements.txt
+++ /dev/null
@@ -1 +0,0 @@
-Flask==0.10.1
diff --git a/react-frontend/run.sh b/react-frontend/run.sh
deleted file mode 100644
index 9754d86a8..000000000
--- a/react-frontend/run.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-python project/app.py
\ No newline at end of file
diff --git a/flask1-0.01/tests.py b/tests.py
similarity index 100%
rename from flask1-0.01/tests.py
rename to tests.py