GithubHelp home page GithubHelp logo

hackassistant / registration Goto Github PK

View Code? Open in Web Editor NEW
62.0 62.0 56.0 2.86 MB

✏️ Hackathon registration server

Home Page: http://registration.gerard.space

License: MIT License

Python 64.60% HTML 30.67% CSS 2.50% Shell 0.27% JavaScript 1.96%
django hackathon hackathon-registration-server hacktoberfest postgres registration sendgrid slack

registration's Introduction


HackAssistant


📝 Hackathon registration server. Remake of the HackAssistant/registration in order to improve the future development and maintainability.

Features

  • Email sign up ✉️
  • Email verification 📨
  • Forgot password 🤔
  • Ip block on failed login tries & ip blocklist ✋ (Optional)
  • Dark mode 🌚 🌝 Light mode (Optional)

Documentation

There's a really extended documentation for configurations or development of the application here.

Development

The development if this Django app can be made by Python or Docker-Compose. We recommend the use of Docker.

Docker-Compose

Needs: Docker, Docker-Compose

  • ./install.sh (Creates virtualenviroment, install requirements.txt and migrates DB)
  • docker-compose up (Starts server)

That is all! 😃 If you need to run any python command just do as the following examples:

  • Install new library: docker-compose run python -m pip install [library]
  • Make migrations: docker-compose run python manage.py makemigrations
  • Migrate: docker-compose run python manage.py migrate

Python

Needs: Python 3.X, virtualenv

Stable at Python v.3.8.X and 3.10 (tested at Python 3.8.17 and 3.10)

  • git clone [email protected]:HackAssistant/hackassistant.git && cd hackassistant
  • virtualenv env --python=python3
  • source ./env/bin/activate
  • pip install -r requirements.txt
  • python manage.py migrate
  • python manage.py createadmin (creates admin to manage all the app: CUSTOM COMMAND!)
  • python manage.py runserver localhost:8000 (specifies to localhost, since admin is created under that specific domain, otherwise it wont work)

registration's People

Contributors

alvarogirona avatar alvarogironaarias avatar aparav avatar aslogd avatar carlcortright avatar casassarnau avatar casassg avatar clasqui avatar dependabot-preview[bot] avatar dependabot[bot] avatar ferja avatar jonimettala avatar jonmarkgo avatar ofpau avatar qaisjp avatar raquelpanapalen avatar rgascons avatar sanchyalforn avatar towerthousand avatar wailingtam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

registration's Issues

Fix order in next application to vote

Avoid counting skipped reviews/votes when selecting next application to be voted by user.

This is done so that if an application gets skipped, then it doesn't affect others reviewers.

Fix first_timer error

For some reason when mapping, some first timers appear as non-first timers. Weirdest thing ever: Some other do work. Typeform API messing it up?

Application confirmation view

Design confirmation view

Should include:

  • Button to cancel application
  • Clear message of thanks for confirming

Should do:

  • Send email of confirmation to applicant
  • Check states are correct before confirming
  • Should extend base design and have consistency with cancel view

Slack error reporting

We would like to add error email reporting. Django has this nicely built-in so it's only a matter of configuration.

  • Add error reporting config - Django docs
  • Add sendgrid smtp email option
  • Study option to set as Slack instead of email - https://github.com/lamby/django-slack
  • Add manual email reports for non-intrusive error handlers (aka internal error such as sendgrid)

Also, we need manual reporting for some errors we rather keep internal:

Application cancellation view

Cancel view for applications that have been invited or that are already accepted

Should include:

  • Clear message of the consecuences
    • User will not be able to attend any more
  • Action confirmation screen (ask before cancelling)

Should do:

  • Check status application is correct
  • Check post request is from the same page (CSRF)
  • Extend from base design
  • Be design consistent with confirmation screen

Add auto reminder and cancel

Create command action that

  • checks applications that have been invited 4 days ago and sends last reminder, telling them to answer or their application will be opened.
  • if application reminded and 5 days old -> new state: Expired

An Expired application can be invited again. It can't be confirmed without the invite.

Add full documentation for zero start release

  • Add documentation regarding Sendgrid templates
  • Add documentation regarding Sendgrid lists
  • Add documentation on user permissions
  • Extract config on Application name
  • Extract config on email template codes
  • Extract config on Sendgrid lists
  • Add documentation on how to create a new Typeform serializer

Add review applications view

Admin only view similar to vote view that allows to manually accept knowing the current votes that the application has.

  • Ordering should be for votes and submission_dates.
  • Actions: Accept, Skip, Reject
  • Note that as skip is a possible action, there should be a parameter that saves how many applications have been skipped (or just remove skip).

Reason: Actual admin dashboard doesn't show a lot of information to admins, so this would be an option to review applications one by one (after they have been voted)

See who checks in

Add something that allows you, as a admin, to see who checks in every application.

Add vote next application

Add views for users in HackUPC team vote applications.

This votes should be stored to order applications and decided either which ones should be accepted and which ones should be rejected.

  • Next application to vote should be the less globally voted (and older if equals) that the user hasn't yet voted
  • One user can't vote an application twice
  • If a user has voted all applications he should a get a cookie. Like a real one

Login protocol for non-admin users

Add login protocol for authentification of non-admin users. This should be considered to avoid giving staff permissions to users that we only want so they want to vote.

  • Root page should redirect to this login
  • Add profile page
  • Add navbar with links to profile
  • Admin login doesn't work - it requires user to be staff.
  • Login should be for non-staff and staff included

UPC blocking emails

Conversation to keep track of how things go regarding UPC blocking emails.

Filter by under aged

Add a new filter option in "Invitations" to filter by hackers under aged (information already present in the application)

Under-aged
Yes
No

Add attendance views

We want our volunteers to check people in. In that way, we need to create new views so that we can check-in people without having to be admins.

  • QR scanner view -> when QR detects a valid token redirect to check-in page
  • Manual confirmed list view
    • Search by token or name or last name or email
    • Show results of search and link to check-in view
  • Check-in view-> should have information about the hacker (minimal) so that volunteer can check that this person is the attendee. Big button to mark as attended.

Considerations:

  • We will need to add a new permission to vote and a different one for check-in. There are some users that should be able to vote but not check-in and viceversa.
  • Vote views now should require this new permission

References:

Add fields for application

  • Add genre
  • Add CV
  • Change states to allow for users to exist even if uncomplete form
  • Add invited_by field

Pre formatted descriptions

Desceiptions of applications often have a format which would be helpful if maintained (\n an such). I think that adding <pre> in description would improve the readability of some applications

Add extra admin modules

  • Module with amount applications confirmed, invited, applied...
  • Module with confirmed amount travel reimbursement and invited travel reimbursement.
  • Module with tshirts confirmed (number and %)
  • Module with tshirts invited (number and %)
  • Module with Food restrictions confirmed (number and %)
  • Module with Food restrictions invited (number and %)

Check bounce emails

Some emails got an error when sending. Find a way to check email bounces and notify DIRECTORS for manual invite.

Fix server error on cancel

For some reason when cancelling the invite to HackUPC, SendGrid returns a 400 error when trying to delete the user from the HackUPC List. Check why is this happening.

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.