Create Virtual Environment
source venv/bin/activate
pip install -r requirements.txt
Install Dependencies (Manual)
pip install Django==4.0.5 fpdf==1.7.2
Generate requirements.txt
pip freeze > requirements.txt
Application
Models
views
users
MyUser, TeamUser, PrinterUser, Lab
'home', 'status'
prints
Prints, PrintConfiguration
'pdf', 'submit'
solo
Singleton
Model
Fields
Description
MyUser
is_team,is_printer, ...
This models is almost same as django.contrib.auth.models.User , This model is used for user authentication
TeamUser
user, lab, location
PrinterUser
user,
Lab
name
Prints
print_id, owner, source_code, submission_time, printing_time, status, total_page
Every print request from team user is modeled by this model
PrintConfiguration
paper_type, orientation, line_height, unit, font_size
This model is used by fpdf library while generating pdf from code
View
Possible Redirection
Description
home
'login', 'status', 'admin-panel'
!authenticated -> logout , is_team -> status , other -> admin-panel
status
'submit' , 'logout'
Team can see status of their print requests
submit
'logout', 'home'
Team can submit code as print request
pdf
Team_user -> null , other user -> pdf
admin
...
handled by django admin implementation
admin-prints model
...
Auto refresging enabled if page is scrolled to the top. Scroll down a little bit to stop auto refresh.
Control+Click on view pdf link to open pdf in new tab.
Check if DEBUG=False
in settings.py
Run staticserver ( preferrably in another pc )
add static url in settings.py
makemigration and migrate
add user info
runserver
check from team pc & printer pc