You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The objective is to build a conference schedule based on the following design guide:
A user can log in or/and sign up on the app.
A user is presented with a list of conference and the agenda page, where the user can look at the general schedule of the conference, day by day
When a user selects a talk, detailed information about the talk is presented and the possibility add it to the user schedule
A user can access a list of the user's schedule
An authentication using JWT (JSON web token) allows a user to log in and sign up to the app and authentic access to the user schedule.
A user table is created with an association to both conferences and schedule tables. Here users have many conferences and schedules.
Backend
Associations
There are four tables created for the backend with the following associations:
User table:
Has many conferences using creator_id has the foreign key
Has many schedules using user_id as the foreign key
Conference table:
Has many Agendas
Belongs to a user with creator_id as the foreign key
Agenda table belongs to a conference
Schedule table belong to both Agenda and User with a foreign key of agenda_id and user_id respectively
Validations and Schema
User
Column
Type
Validation
Name
string
Presence
Email
string
Presence, unique (case sensitive) and 100 maximum characters
Job title
string
Presence and minimum length 6 characters
Password
string
Presence
Conference
Column
Type
Validation
Name
string
Presence
Creator id
integer
Presence
url
string
Presence
startDate
date
Presence
endDate
date
Presence
city
string
Presence
country
string
Present
Agenda
Column
Type
Validation
Title
string
Presence
conference id
integer
Presence
description
string
Presence
startTIme
datetime
Presence
endTime
datetime
Presence
location
string
Presence
Schedule
Column
Type
Validation
User id
string
Present
Agenda id
string
Present and Unique
API Endpoints
API is exposed to the following RESTful endpoints.