Third iteration
Third iteration release
In this iteration, there are a lot of functionalities to cover the objective: Applications standard a user can apply to an event if it fulfils the conditions.
Backend
In the user model we've added the fields: date_of_birth, study, work, university, degree, expected_graduation, current_job_role, tshirt, gender, alimentary_restrictions, github, website, devpost, linkedin
In the event model we've added the field: open_for_participants, max_participants, expected_attrition_rate, students_only, age_restrictions
Modified endpoints
GET /users/new
β In the creation of the user now the new fields: date_of_birth
, study
and work
are mandatory, and also if study is true university
, degree
and expected_graduation
are required and if work is true current_job_role
is required.
GET /users/me
β When getting the user information now all the fields are returned.
POST /users/update/me
β Now it's possible to update all the new fields (not only the ones from the creation)
GET /events
, GET /events/upcoming
and GET /events/{event_id}
β All the endpoints are returning also the new fields from the event.
POST /events/new
β When creating a new event, it's mandatory to set all the new parameters.
POST /events/update/{event_id}
β When updating an event, you can update all the new fields also.
New endpoints in the events' module
GET /events/upcoming/participants
β Given an admin or organizer token in the header, when calling this endpoint, you will get all the upcoming events with the following information: event_name
, actual number of participants
, max participants
and expected attrition rate
.
New module (Applications)
POST /applications/new
β Create an application given an event_id in the body and a participant user token in the header. The participant must fulfil the conditions of the event.
GET /applications/myevents
β Given a participant user token in the header, give all the events where this user is registered.
GET /applications/participants/{event_id}
β Given an event_id, and an organizer or admin token as header, when calling this endpoint, the participants list with all the user information will be returned.
Frontend
In the video you can see a stable version of the product in this iteration, the added functionalities are:
- Register page now have the new fields
- User profile, have all the information
- Events cards show a tag if the event is only for students
- Events page have the information of the age and if it's only for students
- For
PARTICIPANTS
:- Apply button appears in all the events page
- My events screen shows all the events where the user is registered
ORGANIZERS
andORGANIZERS_ADMIN
:- New fields in create and update event
- Events view with the information of how full is the event at this moment
- Also some more empty pages and errors control
Simulator.Screen.Recording.-.iPhone.15.Plus.-.2024-01-11.at.00.42.02.mp4
What's Changed
- [ORG-72] New fields to user by @carlotacb in #75
- [ORG-84] New register page with the new data (date of birth, study, work and information) by @carlotacb in #76
- [ORG-83] Profile screen with all the new information by @carlotacb in #77
- [NO-TRACK] Login and homepage redirects are now correct by @carlotacb in #78
- [ORG-71] Application model and ORM model by @carlotacb in #79
- [ORG-73] Create application endpoint by @carlotacb in #80
- [ORG-79] Apply button in events by @carlotacb in #81
- [ORG-77] My events endpoint by @carlotacb in #82
- [ORG-76] Endpoint to get participants lists by @carlotacb in #83
- [NO-TRACK] Fix some configuration issues in api and delete_at is not more in applications by @carlotacb in #84
- [ORG-80] My events screen by @carlotacb in #85
- [ORG-88] New parameters in event by @carlotacb in #86
- [ORG-113] Update and create event with new fields by @carlotacb in #87
- [ORG-114] Upcoming events with the applications information by @carlotacb in #88
- [ORG-89] Update and create now have all the fields by @carlotacb in #89
- [ORG-115] Organizers view in myevents by @carlotacb in #90
- [ORG-116] Restrictions showed in event cards by @carlotacb in #91
- [NO TRACK] Change command from docker-compose to Dockerfile by @carlotacb in #92
- [ORG-118] Don't allow to apply to users not matching the restrictions by @carlotacb in #93
- [ORG-117] See restrictions in event page by @carlotacb in #94
Full Changelog: v0.2...v0.3