Here is the full documentation for the project at the moment. We have divided it into two types: documentation for configuration and documentation for development utilities.
This configurations will be divided in application configurations and libraries configurations.
- Friends: This optional app enables the participants to apply with their friends and then for the organizers to group their applications in order to invite all the friends.
- Admin honeypot: Fake Django admin login screen to log and notify admins of attempted unauthorized access.
- Allauth: Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication.
- Axes: Axes is a Django plugin for keeping track of suspicious login attempts for your Django based website and implementing simple brute-force attack blocking.
- Captcha: Django reCAPTCHA form field/widget integration app.
- Colorfield: Simple color field for your models with a nice color-picker in the admin-interface.
- Compressor: Compresses linked and inline JavaScript or CSS into a single cached file.
- Cors headers: A Django App that adds Cross-Origin Resource Sharing (CORS) headers to responses.
- Crontab: Dead simple crontab powered job scheduling for django.
- Django Bootstrap 5: Bootstrap 5 for Django.
- Django CSP: Adds Content-Security-Policy headers to Django applications.
- Django filter: It allows users to filter down a queryset based on a model’s fields, displaying the form to let them do this.
- Django JWT: Django library that implements the authentication for OpenId SSO with JWT from oauth2.
- Django password validator: Additional libraries for validating passwords in Django 2.2.25 or later.
- Django tables 2: An app for creating HTML tables.
This utilities will be divided in generic utilities and app specific utilities.
- BootstrapFormMixin: A utility to assist in the rendering of a form using Bootstrap 5.
- Email: Utility to help with email sending utility of Django.
- OverwriteOnlyModelFormMixin: Mixin for Django forms to only update model fields in a form.
- PermissionRequiredMixin: Improvement of the Django PermissionRequiredMixin class. Inherit this if you create new permission mixins please.
- SingletonMeta: Singleton pattern.
- Tables.py: Utilities for the Django tables 2.
- TabsViewMixin: A utility to help the creation of necessary methods for displaying a view with tabs, which will automatically render when used in your views.
- Template.py: Template generic variables that includes some functionalities: Theme, Navigation, Hackathon settings.
- TimezoneMiddleware: Django middleware that gets the timezone of the request.
- Utils.py: Utils.py is a python file with some util functions for the whole app:
get_theme
,full_cache
,is_installed
,is_instance_on_db
¬ify_user
.
- Application Forms: Generic class to create types of applications (Hacker, Mentor, etc.) that integrates automatically the forms with the Application Model.
- MessageServiceManager: Explanation of how this services work and how to use it to send quick messages to the participants.
- Stats: Explanation of how this services work and how to use it to send quick messages to the participants.