Code Monkey home page Code Monkey logo

hors's Introduction

H.O.R.S.

Hospitality - Online - Registration - System

HORS is an online registration system created to optimize the International Monterrey Model United Nations (IMMUNS) event's assignment delivery to teachers from all over Mexico.

How does it work?

IMMUNS staff populate the system with the committees and delegations of the newest iteration of IMMUNS.

Teachers then sign up with a key given by their IMMUNS representative. The system will automatically detect the number of students they teacher paid for and allow the teacher to select what type of delegations they want.

Teachers can then log student information like their name and grade. Staff can see real time from the admin console what assignments have been filled, how many assignments are still available, and much more.

Features

  • Admin panel with:
    • View of all assignments
    • Search filters
    • Manual assigning
    • Add or remove committees and countries
    • Add or remove committee room numbers
    • Teacher or school information
  • Password protected staff and teacher account with encryption
  • Teacher portal with:
    • Assignment list
    • Name and grade field for each assignment
    • Settings page to change password, name, school, etc
  • Sign up page for new teachers
  • Randomized assignments to all teachers
  • Teachers can decide what type of assignments they want
    • English / Spanish
    • Middle School / High School
    • Regular Assignments / Important Assignments
    • Regular Committees / Advanced Committees

Project History

This project was created during my senior year (2017) for my AP CPSC P (CS50) class. The project was then presented to the IMMUNS executive team and they decided to use it for IMMUNS 2018 and onward.

Ever since, new IMMUNS staff have called me to ask for changes, improvements, bug fixes, etc. The project has gone over a lot of changes from its first use, but thanks to this, it has been a integral part of every event ever since.

What does it solve?

Before HORS, IMMUNS staff had to manually assign "assignments" (countries within a committee) to over 15 different teachers located all around mexico. They used a huge white board to know what assignments were available, they tried to be fair and random, and it took them hours of work to do this. On top of that, they suffered of many issues like assigning the same assignment to two schools, forgetting to assign important assignments, etc.

When HORS was introduced it solved all the problems listed above, and it removed all the work load form the staff so they could concentrate on creating an amazing event, while the web app handled the assignments.

Technologies

This project uses:

  • Python
  • Flask
  • SQLite
  • Jinja / HTML / CSS / JS

Installation

You need to install all requirements found on requirements.txt

Deployment

Currently deployed on Digital Ocean but will probably transfer over to AWS.

hors's People

Contributors

jpgarcar avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

James Cloos avatar

hors's Issues

Change admin login

Currently using a very bad admin login system, should change this. Will probably use a .env file to hold the admin username and password

500 Error on userSettingPage

[2021-01-15 10:52:43,545] ERROR in app: Exception on /userSettingsPage [GET]
Traceback (most recent call last):
File "c:\users\juapg\pythonenv\lib\site-packages\flask\app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "c:\users\juapg\pythonenv\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "c:\users\juapg\pythonenv\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "c:\users\juapg\pythonenv\lib\site-packages\flask_compat.py", line 39, in reraise
raise value
File "c:\users\juapg\pythonenv\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "c:\users\juapg\pythonenv\lib\site-packages\flask\app.py", line 1936, in dispatch_request
return self.view_functionsrule.endpoint
File "C:\Users\juapg\PycharmProjects\HORS\app.py", line 440, in userSettingsPage
### similiar to signOut but different unknown use
File "c:\users\juapg\pythonenv\lib\site-packages\flask\templating.py", line 138, in render_template
ctx.app.jinja_env.get_or_select_template(template_name_or_list),
File "c:\users\juapg\pythonenv\lib\site-packages\jinja2\environment.py", line 930, in get_or_select_template
return self.get_template(template_name_or_list, parent, globals)
File "c:\users\juapg\pythonenv\lib\site-packages\jinja2\environment.py", line 883, in get_template
return self._load_template(name, self.make_globals(globals))
File "c:\users\juapg\pythonenv\lib\site-packages\jinja2\environment.py", line 857, in _load_template
template = self.loader.load(self, name, globals)
File "c:\users\juapg\pythonenv\lib\site-packages\jinja2\loaders.py", line 115, in load
source, filename, uptodate = self.get_source(environment, name)
File "c:\users\juapg\pythonenv\lib\site-packages\flask\templating.py", line 60, in get_source
return self._get_source_fast(environment, template)
File "c:\users\juapg\pythonenv\lib\site-packages\flask\templating.py", line 89, in _get_source_fast
raise TemplateNotFound(template)

Change Admin Teacher Table Column

The admin teacher table has a confirmation code that has no use to the admins, we should change this for the actual number of assignments given.

Admin add or remove max number of delegates for teacher from admin console

Currently, admins need to create a new confirmation code and change that to increase or decrease the number of delegates a teacher can have.

Add two buttons to increase or decrease the maximum amount of delegates possible.

Before we do this we should make sure we don't use the confirmation code for anything else and instead just hold the real number and not the confirmation code.

Reported Bug on user_newTeacherPage

A teacher is having issues continuing from the user_newTeacherPage, the web app says she has not selected all 30 assignments and thus denies her access to her portal. We have pictures that confirm she is selecting 30 assignments.

Information suggests there are no other teachers with the same problem. She is the only teacher with 30 assignments. My thought is that there is a problem with the high number.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.