Final assignment:
You are to make a website aggregator application. The purpose of the application is to allow users to share, discuss and rate pages they find on the internet. You are provided with some starter code which displays a simple list of websites. You can gain up to 70% by implementing the following features:
- Users can register and login.
- Users can post new websites if they are logged in. Websites posted by users should have an URL and a description.
- Users can up and down vote webpages by clicking a plus or a minus button.
- Websites should be listed with the most up voted site first.
- The listing page shows when the website was added and how many up and down votes it has.
- Users can move to a detail page for a website (using routing).
- On the detail page, users can post comments about a webpage, and they are displayed below the description of the webpage.
You can gain a further 30% by implementing one or more of the following features:
Challenge 1: Automatic information Can you use the HTTP package for Meteor to pull in information about the posted web links automatically, so the user does not need to enter anything other than the URL?
Challenge 2: Search function Implement a search function that allows the user to search within the listed sites for key words
Challenge 3: Website recommender Can you recommend websites to users based on things they have up voted and commented on? E.g. if I up vote a site entitled ‘Tofu recipes’, it would recommend other sites with ‘tofu’ and ‘recipe’ in their titles or descriptions.
You should deploy your application using the Meteor deploy command and submit a link to the site running on the Meteor server.