Develop Node Backend

Job ID: 37004810

Budget: $30 – $250 USD

READ EVERYTING BEFORE POSTING BID!!!!

USE MYSQL DB!!

Need node backend for a website similar to Reddit.

Result API!

User Controller

createUser: Create a new user account.
getUser: Retrieve user profile, including posts, comments, etc.
updateUser: Update user information (email, password, etc.).
deleteUser: Delete a user account.
loginUser: Handle user login and token generation.
logoutUser: Handle user logout and token revocation.
verifyEmail: Verify user's email address.
resetPassword: Handle password reset requests.

Post Controller

createPost: Create a new post.
getPost: Retrieve a single post details and its comments
updatePost: Update an existing post.
deletePost: Delete a post.
getAllPosts: Retrieve all posts (with filtering, sorting, etc.).
upvotePost: Upvote a post.
downvotePost: Downvote a post.

Comment Controller

createComment: Create a new comment on a post.
getComment: Retrieve a single comment.
updateComment: Update an existing comment.
deleteComment: Delete a comment.
getAllComments: Retrieve all comments for a specific post.

Subreddit Controller

createSubreddit: Create a new subreddit.
getSubreddit: Retrieve a subreddit's details.
updateSubreddit: Update subreddit information.
deleteSubreddit: Delete a subreddit.
getAllSubreddits: Retrieve all subreddits.

Moderation Controller

banUser: Ban a user from a specific subreddit or the entire site.
unbanUser: Unban a user.
reportPost: Report a post for review.
reportComment: Report a comment for review.
approvePost: Approve a reported post.
approveComment: Approve a reported comment.

Invitation Controller

createInvitation: Create an invitation link/code.
acceptInvitation: Accept an invitation.
getInvitationsByUser: Retrieve all invitations sent or received by a user.
cancelInvitation: Cancel an invitation.

Read the following carefully!! Also in your bid you must start with "Hello Mr. Kauvanticonga, I have read everything and understand the backend and quality you are looking for! No other freelancer can do it better than I can."

Code Quality and Standards

The development of this platform places a high emphasis on code quality, maintainability, and adherence to industry standards. To ensure that the project's goals are met with the highest quality, the following principles will be strictly implemented:

Commenting and Documentation: Each function, class, and complex code segment will be accompanied by clear and concise comments. This includes not only what the code is doing but also why it's doing it, providing context and understanding for any future developers working on the project.

Naming Conventions: All variable, function, and file names must be self-explanatory and descriptive, following industry-standard naming conventions. The names should accurately represent the purpose or behavior of the variable, function, or module, avoiding ambiguity.

File Structure and Organization: The project will be organized into well-structured directories and files, following industry best practices. This ensures that the codebase is navigable and that related functionalities are grouped logically. The structure will be scalable to accommodate future growth and changes.

Code Reusability: Code will be written in a modular and reusable manner, promoting the DRY (Don't Repeat Yourself) principle. Functions and components that may be used across different parts of the application should be properly abstracted and centralized.

Adherence to Coding Standards: The code will be written according to recognized industry coding standards, adhering to the guidelines and best practices for the specific programming languages and frameworks used. This helps in maintaining consistency throughout the codebase.

Readability and Simplicity: The code will be written to be easily readable and understandable, favoring simplicity and clarity over unnecessarily complex solutions. This makes future maintenance, debugging, and collaboration more efficient.

Testing and Validation: Comprehensive testing will be performed to ensure that all components and functionalities are working as expected. This includes unit testing, integration testing, and end-to-end testing to catch and fix potential issues early in the development process.

SUPER IMPORTANT!!! Security Compliance: Security best practices will be followed, and code will be reviewed for potential vulnerabilities. This includes proper handling of sensitive data, validation of user inputs, and implementing appropriate authentication and authorization controls.

Performance Considerations: Code will be optimized for performance, taking into account factors like loading times, memory usage, and responsiveness. Efficient algorithms and proper resource management practices will be implemented.


CODE WILL BE REVIEWED BEFORE THE RELEASE OF MILESTONE! FAILURE TO ADHERE TO STANDARDS WILL MEAN REJECTION OF WORK!!!

MUST COMPLETE WORK IN 5-7 DAYS!