Hi, This entry challenge was designed to test your problem-solving ability, technical and non-technical skills on the full spectrum that is required for the position.
- Link to GitHub repo
- Create a mock server on NodeJS (or any other) The level of detail provided below is kept minimal on purpose. You have 11 business days to complete the challenge. Partially completed submissions are considered. Good luck,
Create an event listing page, where users can register to multiple events and sessions for the event. Take Eventbrite’s modern event listing page (not the classic) as an example.
- As a user, I can see a list of Event s in chronological order
- Basic event details to show:
- Title (Text)
- Start (Date/Time)
- End (Date/Time)
- Status (Draft, Open, Sold Out, Closed)
- Registration Limit (Number)
- Remaining Seats (Number)
- As a user, I can see an event detail page
- Show basic details
- Show Description (Rich Text Field)
- As a user, I can see sessions on the event detail page
- Session s also have the same basic information as an event
- As a user I can register to an event
- Register button on event detail page
- After clicking the registration button I need to:
- Select which sessions I want to register for under the event
- Enter my basic information as an Attendee
- First Name
- Last Name
- Phone
- Company
- As a user, I can only register to Open events and sessions
- But can see Sold Out and Closed ones on the event listing page
- As a user, I get a success/failure message after registration
- As a user, I get an automatic email from admin after successful registration with the event and session details in the email
- As an admin, I can create an event
- As an admin, I can create sessions under an event
- As an admin, I can create attendees under an event
- As an admin, I can add an attendee to multiple sessions
- Use Node.js as a backend technology (or any other)
- Use ReactJS as a frontEnd technology
- Host it on Heroku or AWS
- Avoid using jQuery if possible
- Create responsive layout for iPhone (portrait)
- User Experience and UI is a key part of succeeding at this challenge
- Build it with scalability and maintainability in mind
- Final submission should be publicly accessible or available to us for review
The above requirements are minimum, once you met them, it's up to you to put your personal touch to it and extend the functionality or impress us with any features that can show off your coding, design or UX skills, how you use libraries, etc.