This application helps instructors transform their courses/lectures so that these can be taught in online environments.
- To install the packages needed for the application to run, please refer to
requeriments.txt
- Create
json5
representations of both the building blocks and teaching tools/ideas. - Store these files (generated in step 2) in
data/categories
anddata/ideas
directory respectively. - Execute
python manage.py read_data --save_category
andpython manage.py read_data --save_idea
to store the information into the database.
- tbcore: handles the core functionality of the website and contains the database models used throughout the project.
- plan: here one can find the code that allows the users to create, update, read and delete course plans.
These are the models implemented throughout the development of the project:
- Category: Every instance (data point) contains information about a single building block (e.g., category_name, short_description etc.)
- OnlineIdea: Every instance (data point) contains information about a single teaching tool (e.g., idea_name, implementation_steps etc. )
- Plan: used to store information about user's course plans.
- PlanCategoryOnlineIdea: establishes ForeignKey relationships to the
Category
,OnlineIdea
andPlan
models. It also used to manage the user's notes.
The content of this website can be easily modified by making changes to the json5 files found in the data
directory.
Take these into consideration when making changes:
- The content is written in Markdown.
- Execute
python manage.py read_data --save_category
orpython manage.py read_data --save_idea
to save changes to the database.
The supporting documents and images used throughout the json5
files are stored in the tbcore/static
directory:
- support_documents: this directory contains supporting documents (e.g.,
pdf
files). - images: this directory contains the images used in the
json
files.
- Make changes to the files stored in the
support_documents
orimages
directory. - Update the
json
files with the new information.- For example, to add the image
human_touch.png
, you can use the following code snippet (style it as desired):<img src=\"/static/tbcore/images/human_touch.png\" alt=\"Human Touch\" width=\"40%\" height=\"50%\" class=\"rounded mx-auto d-block\">"
- To add a support document called
How_to_add_task_plugIn_to_Stud.Ip_course.pdf
, you can use the following code snippet (style it as desired):<a href="/static/tbcore/support_documents/How_to_add_task_plugIn_to_Stud.Ip_course.pdf" target="_blank">Tasks (reflection) Plug-In</a>
- Execute
python manage.py read_data --save_category
;python manage.py read_data --save_idea
andpython manage.py populate_db
to save changes to the database.
- For example, to add the image
You can develop or deploy this application using Docker.
- Create a
.env.dev
file fromenv.dev-example
cp .env.dev-example .env.dev
- Start the ToolBox
docker compose -f docker-compose.yml up
- To access the Toolbox visit
http://localhost:8000/
-
Modify
nginx/nginx.conf
according to your specific case. -
Create a
.env.prod
file fromenv.prod-example
. Modify the values of.env.prod
according to your specific case.cp .env.dev-example .env.prod
-
Start the ToolBox
docker compose -f docker-compose.prod.yml up