-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Interview Coding Challenge: Article Discussion Forum
Objective: Design and implement a minimal web application that allows users to engage in discussions on an article by submitting comments, replying to comments, and upvoting comments they find valuable.
Company: Ghost (Source)
Overview
Your task is to create a standalone application mimicking a single article page. This should reflect the type of projects typically undertaken at our company and is designed to assess your proficiency and approach to real-world problems.
Design Reference
Please refer to the provided Figma design as a visual guideline:
Design Mockup
Development Milestones
Your challenge is divided into two main stages:
1. MVP (Version 1)
-
Front-end: Use vanilla JS or jQuery to allow users to submit and view comments as well as upvote them.
-
Back-end: Implement a solution to store comments and associated upvotes. The structure can be simple, without nested comments.
-
Versioning: Once completed, mark your progress by tagging this stage on GitHub as "V1".
2. Enhanced Version (Version 2)
-
Front-end Migration: Transition the display of upvotes to React.
-
Real-time Interaction: Ensure that upvotes update in real-time. For instance, if a comment receives an upvote from another page, the change should be instantly visible.
-
Enhanced Comments: Update both the front-end and back-end to accommodate one level of comment nesting, allowing users to reply directly to comments.
-
Versioning: On completion, tag this stage on GitHub as "V2".
Considerations
-
While we primarily use Node.js, Express, React, and MySQL, feel free to select any tech stack you're comfortable with, as long as it aligns with the requirements.
-
Skip authentication. For simplicity, randomize users when they submit comments or upvotes.
-
Craft your commits in a structured manner to make the commit history insightful for reviewers.
-
Writing automated tests is a plus, but it's not mandatory.