Skip to content

Commit 37a3835

Browse files
committed
Add pet project
Add files to rep
1 parent 8c50808 commit 37a3835

15 files changed

+145
-0
lines changed

.idea/.gitignore

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/profiles_settings.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

+10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/pythonProject.iml

+13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

__pycache__/app.cpython-312.pyc

993 Bytes
Binary file not shown.

__pycache__/models.cpython-312.pyc

1 KB
Binary file not shown.
2.09 KB
Binary file not shown.

app.py

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from flask import Flask, render_template
2+
from models import db, TeacherLoad
3+
4+
app = Flask(__name__)
5+
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///teachers_load.db'
6+
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
7+
8+
db.init_app(app)
9+
10+
@app.route('/')
11+
def index():
12+
loads = TeacherLoad.query.all()
13+
return render_template('index.html', loads=loads)
14+
15+
if __name__ == '__main__':
16+
app.run(debug=True)

models.py

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from flask_sqlalchemy import SQLAlchemy
2+
3+
db = SQLAlchemy()
4+
5+
class TeacherLoad(db.Model):
6+
id = db.Column(db.Integer, primary_key=True)
7+
teacher_name = db.Column(db.String(100), nullable=False)
8+
subject = db.Column(db.String(100), nullable=False)
9+
hours_worked = db.Column(db.Float, nullable=False)
10+
report_period = db.Column(db.String(50), nullable=False)
11+

populate_db.py

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from app import app
2+
from models import db, TeacherLoad
3+
4+
with app.app_context():
5+
db.create_all()
6+
7+
if not TeacherLoad.query.first():
8+
sample_data = [
9+
TeacherLoad(teacher_name="Ivan Ivanov", subject="Math", hours_worked=120.5, report_period="2023-01"),
10+
TeacherLoad(teacher_name="Anna Petrova", subject="Physics", hours_worked=98.0, report_period="2023-01"),
11+
TeacherLoad(teacher_name="Sergey Sergeev", subject="Chemistry", hours_worked=110.75,
12+
report_period="2023-01"),
13+
TeacherLoad(teacher_name="Olga Smirnova", subject="Biology", hours_worked=115.0, report_period="2023-01"),
14+
TeacherLoad(teacher_name="Dmitry Sidorov", subject="History", hours_worked=105.25, report_period="2023-01"),
15+
TeacherLoad(teacher_name="Elena Ivanova", subject="English", hours_worked=102.5, report_period="2023-01"),
16+
TeacherLoad(teacher_name="Nikolay Petrov", subject="Geography", hours_worked=97.0, report_period="2023-01"),
17+
TeacherLoad(teacher_name="Maria Kuznetsova", subject="Literature", hours_worked=112.75,
18+
report_period="2023-01"),
19+
TeacherLoad(teacher_name="Alexey Popov", subject="Computer Science", hours_worked=108.5,
20+
report_period="2023-01"),
21+
TeacherLoad(teacher_name="Ekaterina Smirnova", subject="Art", hours_worked=100.0, report_period="2023-01"),
22+
TeacherLoad(teacher_name="Maxim Ivanov", subject="Physical Education", hours_worked=95.25,
23+
report_period="2023-01"),
24+
TeacherLoad(teacher_name="Tatiana Sokolova", subject="Music", hours_worked=99.0, report_period="2023-01"),
25+
TeacherLoad(teacher_name="Andrey Voronov", subject="Economics", hours_worked=103.75,
26+
report_period="2023-01"),
27+
TeacherLoad(teacher_name="Viktoriya Pavlova", subject="Chemistry", hours_worked=107.0,
28+
report_period="2023-01"),
29+
TeacherLoad(teacher_name="Sergey Ivanov", subject="Math", hours_worked=125.5, report_period="2023-01")
30+
]
31+
db.session.bulk_save_objects(sample_data)
32+
db.session.commit()

requirements.txt

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Flask==2.0.2
2+
SQLAlchemy==1.4.25
3+
Flask-SQLAlchemy==2.5.1
4+
Werkzeug==2.0.2
5+
MarkupSafe==2.0.1
6+
7+

static/university.png

3.88 KB
Loading

teachers_load.db

8 KB
Binary file not shown.

templates/index.html

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Teacher Load Report</title>
6+
<style>
7+
body {
8+
background-image: url('/static/university.png');
9+
background-size: cover;
10+
background-repeat: no-repeat;
11+
background-position: right;
12+
background-size: 30%;
13+
}
14+
</style>
15+
</head>
16+
<body>
17+
<h1>Teacher Load Report</h1>
18+
<table border="1">
19+
<thead>
20+
<tr>
21+
<th>Teacher Name</th>
22+
<th>Subject</th>
23+
<th>Hours Worked</th>
24+
<th>Report Period</th>
25+
</tr>
26+
</thead>
27+
<tbody>
28+
{% for load in loads %}
29+
<tr>
30+
<td>{{ load.teacher_name }}</td>
31+
<td>{{ load.subject }}</td>
32+
<td>{{ load.hours_worked }}</td>
33+
<td>{{ load.report_period }}</td>
34+
</tr>
35+
{% endfor %}
36+
</tbody>
37+
</table>
38+
</body>
39+
</html>

0 commit comments

Comments
 (0)