Videos and comments submissios to the database from app
Worldwide
VIDEOS AND COMMENTS SUBMISSION AND MODERATION SYSTEM PURPOSE Create the backend functionality and dashboard components required for Monochrome users to submit videos and comments through the applications. Videos and comments are separate types of content, but both will follow the same approval process used by the Events system. Content submitted by a user must not be published automatically. It must first enter the administration dashboard as a pending request. An administrator will review the submission and decide whether it should be Public, Private or Rejected. Only approved content marked Public should be returned to the applications. SECTION 1: VIDEOS 1. Submit a Video Create an endpoint that allows an authenticated user to upload and submit a video to Monochrome. The video submission should include the video, title, description and thumbnail image. The backend must identify the submitting user through their access token. It must generate the video ID and submission date and store the video as Pending. Users must not be allowed to select whether their videos are Public or Private. That decision belongs exclusively to the administrator. Once the video has been submitted successfully, the user should receive confirmation that the video has been received and is awaiting review. The response must not tell the user that the video has been published. 2. Video Dashboard Section Create a Video Submissions section in the administration dashboard using the dashboard components that already exist. The administrator should be able to see all pending, public, private and rejected video submissions. The administrator must be able to open the video, watch it and review its title, description, thumbnail, submitting user and submission date. The administrator should then be able to select Public, Private or Rejected. If Public is selected, the video should be approved and made available through the public video endpoint used by the applications. If Private is selected, the video should remain stored in the database and visible on the dashboard, but it must not be returned to the applications. If Rejected is selected, the administrator should be able to enter a rejection reason. The rejected video must not be returned to the applications. The backend must record the administrator who reviewed the video, the decision, the review date and any rejection reason. 3. Fetch Public Videos Create an endpoint that allows the applications to fetch approved public videos. The endpoint should return the video ID, title, description, video URL, thumbnail URL, publication date and basic details about the user who submitted it, including their user ID, name, handle and profile image. The endpoint must only return videos that have been approved and marked Public. Pending, Private and Rejected videos must never be included. If a public video is subsequently changed to Private on the dashboard, it must stop appearing in the application immediately. If a Private video is later changed to Public, the existing video should become available without creating a duplicate record. SECTION 2: COMMENTS 1. Submit a Comment Create an endpoint that allows an authenticated user to submit a comment. The comment must be connected to the content on which it was submitted. The backend must therefore know the type of content being commented on and the ID of that particular content. For example, if a user comments on a video, the comment must be connected to that video. The same system may also support comments on events or other Monochrome content where required. The backend must identify the submitting user through their access token. It must confirm that the selected content exists before saving the comment. Every new comment must be stored as Pending and sent to the administration dashboard for review. It must not appear publicly until an administrator approves it. After submission, the user should receive confirmation that the comment has been received and is awaiting review. 2. Comment Dashboard Section Create a Comment Submissions section in the administration dashboard using the components that already exist. The administrator should be able to see the comment, the user who submitted it, the date it was submitted and the video, event or other content to which it belongs. The administrator should be able to select Public, Private or Rejected. If Public is selected, the comment should be approved and added to the public comments returned for the relevant content. If Private is selected, the comment should remain stored in the database and visible on the dashboard, but it must not be returned to the applications. If Rejected is selected, the administrator should be able to record a rejection reason. The rejected comment must remain excluded from the public comments endpoint. The backend must record which administrator reviewed the comment, the decision, the review date and any rejection reason. 3. Fetch Public Comments Create an endpoint that returns the approved public comments belonging to a selected video, event or other supported content. The application will identify the type of content and the specific content ID. The backend should then return the public comments attached to it. Each comment should include its comment ID, comment text, publication date and basic information about the user who submitted it, including their user ID, name, handle and profile image. Only comments that have been approved and marked Public should be returned. Pending, Private and Rejected comments must never appear in the application. DASHBOARD REQUIREMENTS Create separate dashboard sections for Video Submissions and Comment Submissions. Both sections should allow administrators to: 1. View pending, public, private and rejected submissions. 2. Search and filter submissions. 3. Open and review the complete submission. 4. Identify the user who submitted it. 5. Select Public, Private or Rejected. 6. Enter a rejection reason. 7. Change previously public content to Private. 8. Change previously private content to Public. 9. See which administrator reviewed the submission. 10. See when the submission was reviewed. PUBLICATION PROCESS 1. A user submits a video or comment through the Monochrome application. 2. The backend identifies the user and stores the submission as Pending. 3. The submission appears in the relevant dashboard section. 4. An administrator reviews the submission. 5. If Public is selected, the content becomes available through the appropriate application endpoint. 6. If Private is selected, the content remains in the database but is not returned to the applications. 7. If Rejected is selected, the content remains excluded from the applications and the rejection reason is recorded. 8. Only approved content marked Public may be returned through public endpoints. IMPORTANT BUSINESS RULES 1. Users must be identified through their access tokens. 2. Users must not be allowed to choose the moderation or visibility status of their submissions. 3. Only authorised administrators may approve, reject or change the visibility of content. 4. Pending, Private and Rejected content must never be exposed through public endpoints, even if someone knows its ID. 5. Videos must be checked for the permitted format, file size, duration and file type. 6. Videos and thumbnail images must be stored securely. 7. Comments must not be empty and must comply with the permitted length. 8. The content being commented on must exist. 9. Each submission must record when it was created and updated. 10. Each moderation decision must record the reviewing administrator and review date. 11. All endpoints must include validation, authorisation and consistent error handling. 12. The developer must test successful submissions, failed submissions, approvals, private decisions, rejections and visibility changes. SUMMARY OF WORK 1. Submit Video: Complete an endpoint that allows authenticated users to submit videos for review. 2. Review Video: Create a dashboard section and backend functionality for making submitted videos Public, Private or Rejected. 3. Fetch Videos: Complete an endpoint that returns approved public videos to the applications. 4. Submit Comment: Complete an endpoint that allows authenticated users to submit comments for review. 5. Review Comment: Create a dashboard section and backend functionality for making submitted comments Public, Private or Rejected. 6. Fetch Comments: Complete an endpoint that returns approved public comments for the selected content.
$100.00
Fixed-price- IntermediateExperience Level
- Remote Job
- One-time projectProject Type
Skills and Expertise
Activity on this job
- Proposals:10 to 15
- Interviewing:0
- Invites sent:0
- Unanswered invites:0
About the client
- United Kingdom5:41 PM
- $7.6K total spent36 hires, 6 active
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by