This project is to develop a website that provides recommendations to the user on what events to attend based on questions they answer. The site will use a recommendation API, Recombee to do recommendation analysis and then should use a framework to present the information in a virtually rich format.
This project is to develop a website that:
- Collects user preferences and information via a survey (10-15 questions with limited branch logic). Survey should present one question at a time and auto advance to next question.
- After the survey is complete, send user data to recommendation service (Recombee).
- Present users with upcoming events with recommendations highlighted and displayed first. Display options using tiles with representative picture, event date and time, and title. Tiles should include button to add to favorites.
- Provide users with options to filter and sort events by attributes. Filters should collapse when not being viewed and instantly filter tiles without need to refresh.
- Allow users to view event details by clicking tile (e.g., start/end time, sponsoring organization, location, website for details, etc). Users can favorite events they are interested in which can be filtered later. Users can copy direct URL to share with friends (button to automatically copy URL).
- Website should be mobile optimized and adaptable for various web browsers.
- Survey results, user data, events recommended, events viewed, events favorited, filters set, and events with copied URL shall be stored in a MySQL database.
- An interface shall be provided to allow website administrators to add events with parameters.
- Use a cookie to identify user. When user visits site again, re-run recommendations and restore filters set at previous visit. If no cookie is found, when user enters email address at start of survey, if existing user found, skip the rest of the survey and re-store cookie.
- User shall be able to re-take quiz if desired.
- The developer should recommend and use a robust framework that provides opportunities for reuse and accelerators for future development work. Framework used should be approved.
- Site should be rich in visual design, components, and interactivity.
- Developer should use best coding practices. Language is PHP.