/oi-web-dev-assessment

React based assessment

Primary LanguageJavaScript

Oaks Intelligence Web Development Assessment

React-based assessment

Welcome to the React Frontend Web Development Assessment. This assessment is designed to evaluate your skills and knowledge related to building online systems using React, a popular JavaScript library for building user interfaces.

Build a Custom CMS for a Blog Application

Description

You have been tasked with building a custom CMS for a blog website. The CMS should allow users to create, edit, and publish blog posts, as well as manage categories, and review comments. you are to build the frontend of the ecommerce website using React, build the backend CMS and integrate it with the frontend using a suitable API.

TASKS

1. Database Design and Setup

Design the database schema for the CMS, including posts, categories, tags, and comments.

Implement the database using a suitable database management system (e.g. mongoDB).

2. Backend API Development

Build a REST API for the CMS using a suitable backend framework (e.g. Node.js).

Implement CRUD (Create, Read, Update, Delete) APIs for posts, categories, tags, and comments.

Implement user authentication and authorization to ensure that only authorized users can create and modify content.

3. Admin Dashboard Development

Build an admin dashboard using a suitable frontend framework (REACT).

Implement a form that allows users to create or edit posts, including fields for name, content, category, and tags.

Implement a table that displays all posts and allows users to edit or delete a post.

4. Category and Tag Management

Implement a form that allows users to create or edit categories and tags.

Implement a table that displays all categories and tags and allows users to edit or delete them.

Add a dropdown menu to the add product form that allows users to select a category and multiple tags for each post.

5. Comment Management

Implement CRUD APIs for comments on posts.

Implement a section in the admin dashboard that displays all comments and allows the admin to approve or delete comments.

6. Integration with Frontend

Integrate the backend with the existing frontend of the blog website

Fetch the blog post data from the API endpoint and display it on the frontend using a suitable data visualization library (e.g. React Router, Redux).

Implement basic pagination with a maximum of 8 blog posts per page.

7. Bonus Task: Add Advanced Features

Add a search feature that allows users to search for blog posts by title or content.

Instructions

  1. You have four days to complete this assessment.
  2. Submission deadline is 23:59 GMT, Monday April 10, 2023.
  3. Fork the provided GitHub repository (link provided below) to start the assessment.
  4. Complete the tasks listed below within the time limit.
  5. Push your code to the forked repository.
  6. Submit the link to your forked repository on the google form provided below for review.

Github repository: https://github.com/OaksIntelligence/oi-web-dev-assessment-sub

Google form link: https://forms.gle/4jZMkch5H6V7aEEq5

Note: Make sure to follow best practices for code organization, readability, and maintainability. Happy coding!