diff --git a/.eslintcache b/.eslintcache index 24ae3a7..a7a02d2 100644 --- a/.eslintcache +++ b/.eslintcache @@ -1 +1 @@ -[{"/Users/user/repos/guillotine-cut/src/index.js":"1","/Users/user/repos/guillotine-cut/src/App.js":"2","/Users/user/repos/guillotine-cut/src/Navbar.js":"3","/Users/user/repos/guillotine-cut/src/MainSection.js":"4","/Users/user/repos/guillotine-cut/src/MainSheet.js":"5"},{"size":222,"mtime":1607967045945,"results":"6","hashOfConfig":"7"},{"size":318,"mtime":1607965957763,"results":"8","hashOfConfig":"7"},{"size":250,"mtime":1607968257270,"results":"9","hashOfConfig":"7"},{"size":246,"mtime":1607968424050,"results":"10","hashOfConfig":"7"},{"size":214,"mtime":1609099097125,"results":"11","hashOfConfig":"7"},{"filePath":"12","messages":"13","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"l6z3kw",{"filePath":"14","messages":"15","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"16","messages":"17","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"18","messages":"19","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"20","messages":"21","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/user/repos/guillotine-cut/src/index.js",[],"/Users/user/repos/guillotine-cut/src/App.js",[],"/Users/user/repos/guillotine-cut/src/Navbar.js",[],"/Users/user/repos/guillotine-cut/src/MainSection.js",[],"/Users/user/repos/guillotine-cut/src/MainSheet.js",[]] \ No newline at end of file +[{"/Users/user/repos/sort-measurer/src/index.js":"1","/Users/user/repos/sort-measurer/src/App.js":"2","/Users/user/repos/sort-measurer/src/Navbar.js":"3","/Users/user/repos/sort-measurer/src/MainSection.js":"4","/Users/user/repos/sort-measurer/src/MainSheet.js":"5"},{"size":222,"mtime":1607967045945,"results":"6","hashOfConfig":"7"},{"size":318,"mtime":1607965957763,"results":"8","hashOfConfig":"7"},{"size":290,"mtime":1610490068978,"results":"9","hashOfConfig":"7"},{"size":246,"mtime":1607968424050,"results":"10","hashOfConfig":"7"},{"size":214,"mtime":1609099097125,"results":"11","hashOfConfig":"7"},{"filePath":"12","messages":"13","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"14"},"ff9ndh",{"filePath":"15","messages":"16","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"14"},{"filePath":"17","messages":"18","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"19","usedDeprecatedRules":"14"},{"filePath":"20","messages":"21","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"14"},{"filePath":"22","messages":"23","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/user/repos/sort-measurer/src/index.js",[],["24","25"],"/Users/user/repos/sort-measurer/src/App.js",[],"/Users/user/repos/sort-measurer/src/Navbar.js",["26"],"import React from \"react\";\nimport \"./Navbar.css\";\nimport styled from \"styled-components\";\n\nexport default function Navbar() {\n return (\n
\n

Navbar

\n

Example

\n

Example

\n

Example

\n

Example

\n
\n );\n}\n","/Users/user/repos/sort-measurer/src/MainSection.js",[],"/Users/user/repos/sort-measurer/src/MainSheet.js",[],{"ruleId":"27","replacedBy":"28"},{"ruleId":"29","replacedBy":"30"},{"ruleId":"31","severity":1,"message":"32","line":3,"column":8,"nodeType":"33","messageId":"34","endLine":3,"endColumn":14},"no-native-reassign",["35"],"no-negated-in-lhs",["36"],"no-unused-vars","'styled' is defined but never used.","Identifier","unusedVar","no-global-assign","no-unsafe-negation"] \ No newline at end of file diff --git a/.gitignore b/.gitignore index 4d29575..0da650c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,15 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies -/node_modules +/sm_react/node_modules /.pnp .pnp.js # testing -/coverage +/sm_react/coverage # production -/build +/sm_react/build # misc .DS_Store diff --git a/db.sqlite3 b/db.sqlite3 new file mode 100644 index 0000000..e69de29 diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..f7af8dc --- /dev/null +++ b/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'sm_django.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/sm_django/__init__.py b/sm_django/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/sm_django/__pycache__/__init__.cpython-39.pyc b/sm_django/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000..52ce018 Binary files /dev/null and b/sm_django/__pycache__/__init__.cpython-39.pyc differ diff --git a/sm_django/__pycache__/settings.cpython-39.pyc b/sm_django/__pycache__/settings.cpython-39.pyc new file mode 100644 index 0000000..2d63d7f Binary files /dev/null and b/sm_django/__pycache__/settings.cpython-39.pyc differ diff --git a/sm_django/__pycache__/urls.cpython-39.pyc b/sm_django/__pycache__/urls.cpython-39.pyc new file mode 100644 index 0000000..6c0219b Binary files /dev/null and b/sm_django/__pycache__/urls.cpython-39.pyc differ diff --git a/sm_django/__pycache__/wsgi.cpython-39.pyc b/sm_django/__pycache__/wsgi.cpython-39.pyc new file mode 100644 index 0000000..178989f Binary files /dev/null and b/sm_django/__pycache__/wsgi.cpython-39.pyc differ diff --git a/sm_django/asgi.py b/sm_django/asgi.py new file mode 100644 index 0000000..de6512f --- /dev/null +++ b/sm_django/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for sm_django project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.1/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'sm_django.settings') + +application = get_asgi_application() diff --git a/sm_django/settings.py b/sm_django/settings.py new file mode 100644 index 0000000..49ac96f --- /dev/null +++ b/sm_django/settings.py @@ -0,0 +1,127 @@ +""" +Django settings for sm_django project. + +Generated by 'django-admin startproject' using Django 3.1.5. + +For more information on this file, see +https://docs.djangoproject.com/en/3.1/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/3.1/ref/settings/ +""" + +from pathlib import Path +import os + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/3.1/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '%o(h$_y53$1g+ygja(1p(1+27wyp5v@h!l&4c8h--9gl)ore1k' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'sm_django.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [ + os.path.join(BASE_DIR, 'sm_react/build'), + ], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'sm_django.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/3.1/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/3.1/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/3.1/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/3.1/howto/static-files/ + +STATIC_URL = '/static/' + +STATICFILES_DIRS = [ + os.path.join(BASE_DIR, 'sm_react/build/static'), +] diff --git a/sm_django/urls.py b/sm_django/urls.py new file mode 100644 index 0000000..e87eab0 --- /dev/null +++ b/sm_django/urls.py @@ -0,0 +1,23 @@ +"""sm_django URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/3.1/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path +from django.views.generic import TemplateView + +urlpatterns = [ + path('admin/', admin.site.urls), + path('', TemplateView.as_view(template_name='index.html')), +] diff --git a/sm_django/wsgi.py b/sm_django/wsgi.py new file mode 100644 index 0000000..1a8d36b --- /dev/null +++ b/sm_django/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for sm_django project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/3.1/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'sm_django.settings') + +application = get_wsgi_application() diff --git a/sm_react/.eslintcache b/sm_react/.eslintcache new file mode 100644 index 0000000..25502a0 --- /dev/null +++ b/sm_react/.eslintcache @@ -0,0 +1 @@ +[{"/Users/user/repos/sort-measurer/sm_django/sm_react/src/index.js":"1","/Users/user/repos/sort-measurer/sm_django/sm_react/src/App.js":"2","/Users/user/repos/sort-measurer/sm_django/sm_react/src/MainSection.js":"3","/Users/user/repos/sort-measurer/sm_django/sm_react/src/Navbar.js":"4","/Users/user/repos/sort-measurer/sm_django/sm_react/src/MainSheet.js":"5"},{"size":222,"mtime":1607967045945,"results":"6","hashOfConfig":"7"},{"size":318,"mtime":1607965957763,"results":"8","hashOfConfig":"7"},{"size":246,"mtime":1607968424050,"results":"9","hashOfConfig":"7"},{"size":290,"mtime":1610490068978,"results":"10","hashOfConfig":"7"},{"size":214,"mtime":1609099097125,"results":"11","hashOfConfig":"7"},{"filePath":"12","messages":"13","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"jqi4ba",{"filePath":"14","messages":"15","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"16","messages":"17","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"18","messages":"19","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"20","messages":"21","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/user/repos/sort-measurer/sm_django/sm_react/src/index.js",[],"/Users/user/repos/sort-measurer/sm_django/sm_react/src/App.js",[],"/Users/user/repos/sort-measurer/sm_django/sm_react/src/MainSection.js",[],"/Users/user/repos/sort-measurer/sm_django/sm_react/src/Navbar.js",["22"],"/Users/user/repos/sort-measurer/sm_django/sm_react/src/MainSheet.js",[],{"ruleId":"23","severity":1,"message":"24","line":3,"column":8,"nodeType":"25","messageId":"26","endLine":3,"endColumn":14},"no-unused-vars","'styled' is defined but never used.","Identifier","unusedVar"] \ No newline at end of file diff --git a/README.md b/sm_react/README.md similarity index 100% rename from README.md rename to sm_react/README.md diff --git a/package-lock.json b/sm_react/package-lock.json similarity index 100% rename from package-lock.json rename to sm_react/package-lock.json diff --git a/package.json b/sm_react/package.json similarity index 100% rename from package.json rename to sm_react/package.json diff --git a/public/favicon.ico b/sm_react/public/favicon.ico similarity index 100% rename from public/favicon.ico rename to sm_react/public/favicon.ico diff --git a/public/index.html b/sm_react/public/index.html similarity index 100% rename from public/index.html rename to sm_react/public/index.html diff --git a/public/logo192.png b/sm_react/public/logo192.png similarity index 100% rename from public/logo192.png rename to sm_react/public/logo192.png diff --git a/public/logo512.png b/sm_react/public/logo512.png similarity index 100% rename from public/logo512.png rename to sm_react/public/logo512.png diff --git a/public/manifest.json b/sm_react/public/manifest.json similarity index 100% rename from public/manifest.json rename to sm_react/public/manifest.json diff --git a/public/robots.txt b/sm_react/public/robots.txt similarity index 100% rename from public/robots.txt rename to sm_react/public/robots.txt diff --git a/sm_react/src/App.css b/sm_react/src/App.css new file mode 100644 index 0000000..a7aa91f --- /dev/null +++ b/sm_react/src/App.css @@ -0,0 +1,6 @@ +.App { + font-family: "Nunito", sans-serif; + background: #253237; + color: white; + display: flex; +} diff --git a/src/App.js b/sm_react/src/App.js similarity index 100% rename from src/App.js rename to sm_react/src/App.js diff --git a/src/MainSection.css b/sm_react/src/MainSection.css similarity index 84% rename from src/MainSection.css rename to sm_react/src/MainSection.css index b6491d1..9dd230a 100644 --- a/src/MainSection.css +++ b/sm_react/src/MainSection.css @@ -1,5 +1,5 @@ .MainSection { - background: cornflowerblue; + background: #363c58; text-align: center; flex: 1; /* height of the whole site (both columns) */ diff --git a/src/MainSection.js b/sm_react/src/MainSection.js similarity index 100% rename from src/MainSection.js rename to sm_react/src/MainSection.js diff --git a/src/MainSheet.css b/sm_react/src/MainSheet.css similarity index 77% rename from src/MainSheet.css rename to sm_react/src/MainSheet.css index e7922d5..a24a121 100644 --- a/src/MainSheet.css +++ b/sm_react/src/MainSheet.css @@ -1,7 +1,8 @@ .MainSheet { - width: 60vw; + width: 65vw; height: 30vw; - border: solid mediumslateblue; + background: #3f476c; + border: solid #9b1cfc; margin: auto; position: relative; } diff --git a/src/MainSheet.js b/sm_react/src/MainSheet.js similarity index 100% rename from src/MainSheet.js rename to sm_react/src/MainSheet.js diff --git a/sm_react/src/Navbar.css b/sm_react/src/Navbar.css new file mode 100644 index 0000000..c1d8a37 --- /dev/null +++ b/sm_react/src/Navbar.css @@ -0,0 +1,5 @@ +.Navbar { + background: #191e36; + text-align: center; + flex: 0 0 7vw; +} diff --git a/src/Navbar.js b/sm_react/src/Navbar.js similarity index 86% rename from src/Navbar.js rename to sm_react/src/Navbar.js index 884fe3f..48ac51f 100644 --- a/src/Navbar.js +++ b/sm_react/src/Navbar.js @@ -1,5 +1,6 @@ import React from "react"; import "./Navbar.css"; +import styled from "styled-components"; export default function Navbar() { return ( diff --git a/src/index.css b/sm_react/src/index.css similarity index 71% rename from src/index.css rename to sm_react/src/index.css index 0018389..35ace8d 100644 --- a/src/index.css +++ b/sm_react/src/index.css @@ -1,7 +1,8 @@ +@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@200&display=swap"); body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", - "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Nunito", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; diff --git a/src/index.js b/sm_react/src/index.js similarity index 100% rename from src/index.js rename to sm_react/src/index.js diff --git a/src/App.css b/src/App.css deleted file mode 100644 index ac1c454..0000000 --- a/src/App.css +++ /dev/null @@ -1,5 +0,0 @@ -.App { - background: #253237; - color: #fafafa; - display: flex; -} diff --git a/src/Navbar.css b/src/Navbar.css deleted file mode 100644 index 5543c59..0000000 --- a/src/Navbar.css +++ /dev/null @@ -1,5 +0,0 @@ -.Navbar { - background: cadetblue; - text-align: center; - flex: 0 0 15vw; -}