diff --git a/.env b/.env new file mode 100644 index 0000000..d04e7ab --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +FLASK_APP=jobs.app +FLASK_ENV=development \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..192990f --- /dev/null +++ b/.gitignore @@ -0,0 +1,65 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Flask stuff: +instance/ +.webassets-cache + +# pyenv +.python-version + +# Editors +.vscode +.idea + +# macOS +.DS_Store + +# Virtualenv +venv/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..fbece2e --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Build a Job Board with Python & Flask diff --git a/jobs/__init__.py b/jobs/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/jobs/app.py b/jobs/app.py new file mode 100644 index 0000000..1c1f4f0 --- /dev/null +++ b/jobs/app.py @@ -0,0 +1,60 @@ +import sqlite3 +from flask import Flask, render_template + +app = Flask(__name__) + +db = sqlite3.connect( + 'jobs/db.sqlite3', detect_types=sqlite3.PARSE_DECLTYPES +) + +# Job +# Title +# Description +# Salary +# Tag + +@app.route('/') +@app.route('/jobs') +def jobs(): + return render_template('index.html') + + +@app.route('/job/') +def job(job_id): + return render_template('job.html') + +# Employer +# name +# description +# address + +# Review +# rating +# title +# date +# status (current/former) + +@app.route('/employer/') +def employer(employer_id): + return render_template('employer.html') + +# User +# username +# password +# name +# email +# phone +# role_id + +# Role +# type + + +@app.route('/user/') +def user(user_id): + return render_template('user.html') + + +@app.route('/admin') +def admin(): + return render_template('admin.html') \ No newline at end of file diff --git a/jobs/db.sqlite3 b/jobs/db.sqlite3 new file mode 100644 index 0000000..50302cd Binary files /dev/null and b/jobs/db.sqlite3 differ diff --git a/jobs/static/css/styles.css b/jobs/static/css/styles.css new file mode 100644 index 0000000..e69de29 diff --git a/jobs/templates/admin.html b/jobs/templates/admin.html new file mode 100644 index 0000000..f8db068 --- /dev/null +++ b/jobs/templates/admin.html @@ -0,0 +1,3 @@ +{% block content %} +

Admin

+{% endblock %} \ No newline at end of file diff --git a/jobs/templates/employer.html b/jobs/templates/employer.html new file mode 100644 index 0000000..b7d1a30 --- /dev/null +++ b/jobs/templates/employer.html @@ -0,0 +1,3 @@ +{% block content %} +

Employer

+{% endblock %} diff --git a/jobs/templates/index.html b/jobs/templates/index.html new file mode 100644 index 0000000..5da82ae --- /dev/null +++ b/jobs/templates/index.html @@ -0,0 +1,3 @@ +{% block content %} +

Index

+{% endblock %} diff --git a/jobs/templates/job.html b/jobs/templates/job.html new file mode 100644 index 0000000..adfa90f --- /dev/null +++ b/jobs/templates/job.html @@ -0,0 +1,3 @@ +{% block content %} +

Job

+{% endblock %} diff --git a/jobs/templates/layout.html b/jobs/templates/layout.html new file mode 100644 index 0000000..052d0d0 --- /dev/null +++ b/jobs/templates/layout.html @@ -0,0 +1,11 @@ + + + + + + + + {% block content %} + {% endblock %} + + \ No newline at end of file diff --git a/jobs/templates/user.html b/jobs/templates/user.html new file mode 100644 index 0000000..e858391 --- /dev/null +++ b/jobs/templates/user.html @@ -0,0 +1,3 @@ +{% block content %} +

User

+{% endblock %} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..b0d8054 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +Flask==1.0.2 +pytest==3.6.3 +python-dotenv==0.8.2 diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_module1.py b/tests/test_module1.py new file mode 100644 index 0000000..3d9d3da --- /dev/null +++ b/tests/test_module1.py @@ -0,0 +1,10 @@ +import pytest +import sys +import pprint + +from jobs import app + +@pytest.mark.testing_import +def test_import(): + imports = ['os','Flask', 'sqlite3'] + types = [v + ':' + str(eval('type(app.' + v + ')')) for v in dir(app) if not v.startswith("__") and v not in imports] \ No newline at end of file diff --git a/tests/test_module2.py b/tests/test_module2.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_module3.py b/tests/test_module3.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_module4.py b/tests/test_module4.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_module5.py b/tests/test_module5.py new file mode 100644 index 0000000..e69de29