Events website in Rails
Budget: $250 – $750 USD
Create a website and single endpoint JSON API using Rails 7 and Postgres DB.
Design isn't important, functionality is.
Look at https://aiml.events/ to understand what functionality we are looking for (but not the design).
The events table will look approximately like this:
Name string
Long Name, string
Year integer
Description, text, textarea in form
Venue string, expected values like "Austin Convention Center" or "Zoom")
Location (address string, city string, province string, country string)
Event URL, string, validate is a url
Start, Date + Time
End, Date + Time
all_day boolean
publish_on, Date + Time
unpublish_on, Date + Time
Logo string, validate as URL
Images, multiple strings, validate as URL
Files, allow uploading multiple files
Submission FAQ URL, string, validate as url
Submission due Date + Time (inc timezone)
Speakers notified date + time (inc timezone)
published boolean
featured boolean
internal boolean
Speakers, has_many, see below
details JSON object, add three fields in form, store them in this field, demonstrate editing and display
- option1, boolean
- option2, string
- option3, array of strings
Speakers table will look approximately like this:
first_name string
last_name string
email string, validate is an email address
url string, validate is a url
details JSON object, same as events details field above
API
Read only, single endpoint at /api/events
Returns JSON
No authentication needed for GET
index.json, returns only event name, url, start date, city, country fields (not the rest of the fields) in JSON format
If there are no GET parameters (index view), the result should include only current and future events (no past events)
Can filter by year, month, country only
Include bootstrap gem "--css bootstrap"
Include devise gem, login by email
Only logged in users can create, edit, or delete events
Anyone can view the website, or access the JSON API (no authenticate to view)
include tests for create, edit, view for events
include tests for view for visitors, demonstrate cannot create or edit
include tests for json no params, year, month, and country
Delivery to github repository, including instructions on installing to local dev
Document any issues, gotchas, patches needed, problems encountered
Design isn't important, functionality is.
Look at https://aiml.events/ to understand what functionality we are looking for (but not the design).
The events table will look approximately like this:
Name string
Long Name, string
Year integer
Description, text, textarea in form
Venue string, expected values like "Austin Convention Center" or "Zoom")
Location (address string, city string, province string, country string)
Event URL, string, validate is a url
Start, Date + Time
End, Date + Time
all_day boolean
publish_on, Date + Time
unpublish_on, Date + Time
Logo string, validate as URL
Images, multiple strings, validate as URL
Files, allow uploading multiple files
Submission FAQ URL, string, validate as url
Submission due Date + Time (inc timezone)
Speakers notified date + time (inc timezone)
published boolean
featured boolean
internal boolean
Speakers, has_many, see below
details JSON object, add three fields in form, store them in this field, demonstrate editing and display
- option1, boolean
- option2, string
- option3, array of strings
Speakers table will look approximately like this:
first_name string
last_name string
email string, validate is an email address
url string, validate is a url
details JSON object, same as events details field above
API
Read only, single endpoint at /api/events
Returns JSON
No authentication needed for GET
index.json, returns only event name, url, start date, city, country fields (not the rest of the fields) in JSON format
If there are no GET parameters (index view), the result should include only current and future events (no past events)
Can filter by year, month, country only
Include bootstrap gem "--css bootstrap"
Include devise gem, login by email
Only logged in users can create, edit, or delete events
Anyone can view the website, or access the JSON API (no authenticate to view)
include tests for create, edit, view for events
include tests for view for visitors, demonstrate cannot create or edit
include tests for json no params, year, month, and country
Delivery to github repository, including instructions on installing to local dev
Document any issues, gotchas, patches needed, problems encountered