Skip to content

Latest commit

 

History

History
103 lines (71 loc) · 5 KB

README.md

File metadata and controls

103 lines (71 loc) · 5 KB

Documentation

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.

Configuration

This configurations will be divided in application configurations and libraries configurations.

Apps

  • 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.

Libraries

  • 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.

Development utilities

This utilities will be divided in generic utilities and app specific utilities.

Generic

  • 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 & notify_user.

App specific

Application

  • Application Forms: Generic class to create types of applications (Hacker, Mentor, etc.) that integrates automatically the forms with the Application Model.

Event.Messages

  • MessageServiceManager: Explanation of how this services work and how to use it to send quick messages to the participants.

Stats

  • Stats: Explanation of how this services work and how to use it to send quick messages to the participants.
<style> details summary > * { display: inline; } details { margin-top: 25px; } </style>