Make sure you read all of this document carefully, and follow the guidelines in it.
Build a Hacker News like App but for lightning talk polling.
Sorry no mock here, please make a simple and beautiful page that get the job done. We don't mind whether it looks as great as Hacker News.
- User opens the page and could see a list of lighting talks order by rating submitted by other users;
- If there's no lighting talk, simply put a placeholder text and encourage user to submit their own talks;
- The user could vote for the lighting talk by clicking the vote button or icon;
- After voting the user will get an updated version of the lighting talk list(order by rating);
- User could always submit a lighting talk with
title
,description
, andusername
; - The user could see his lighting talk on the list after submitting;
- The frontend part should be a single page application rendered in the frontend and load data from restful API (not rendered from backend).
- There should be a backend and database to store the lightning talks.
- Backend oriented
- Use Loopback for the backend.
- Use any frontend framework as you like.
- Frontend oriented
- Use any backend framework as you like, even a static JSON file storage would do it.
- Use React for the frontend.
- Write clear documentation on how it's designed and how to run the code.
- Provide proper unit test.
- Write good commit messages.
- An online demo is always welcome.
Feel free to use any libraries you would use if this were a real production App, but remember we're interested in your code & the way you solve the problem, not how well you can use a particular library.
We're interested in your method and how you approach the problem just as much as we're interested in the end result.
Here's what you should aim for:
- Good use of current HTML, CSS, and JavaScript & performance best practices.
- Solid testing approach.
- Extensible code.
Where should I send back the result when I'm done?
Fork this repo and send us a pull request when you think you are done. We don't have a deadline for the task.
What if I have a question?
Create a new issue in the repo and we will get back to you very quickly.