Basically a copy of https://leetcode.com
The scope of this project is to create a website that allows people to share the job interview they had received from the companies in order to help other people be prepared for their job interview. For this purpose, the site will allow users to insert the questions they receive and the respective solutions, post their own answer, search through all the problems that are grouped in categories, join the relative discussion and wait for comments and feedbacks from other users. The implementation must be accomplished with an interface that help the user exercise and easily have an idea about the kind of questions he/she will receive in the next job interview.
Functional Requirements:
• Allow all users to register to the web site;
• Allow each registered user to log-in to the web site;
• Allow each registered user to log-out to the web site;
• Allow all users to see the list of the problems;
• Allow all users to see the solution of problems;
• Allow all users to see the comments about problems;
• Allow all users to see the discussion about threads;
• Allow all users to see the hint about problems;
• Allow all users to search problems by category;
• Allow all users to search problems by difficulty;
• Allow all users to search problems by company;
• Allow each logged user to share his problem;
• Allow each logged user to create threads;
• Allow each logged user to submit a solution;
• Allow each logged user to comment problems;
• Allow each logged user to comment threads;
• Allow each logged user to add like/dislike/favorite to problems;
• Allow each logged user to add like/dislike to threads;
• Allow each logged user to add like/dislike to comments;
• Store the user person information: first name, last name, birthday and email;
• Store information about problem: title, text, date, category, difficulty, company, user, comments, views and likes;
• Store information about solution: title, text, related problem, user, comments, views and likes;
• Store information about thread: title, text, user, comments, views and likes;
• Store information about submission of solution: title, text, data and user;
• Store information about comment: user, data, text, likes and related comments.