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
- You have four days to complete this assessment.
- Submission deadline is 23:59 GMT, Monday April 10, 2023.
- Fork the provided GitHub repository (link provided below) to start the assessment.
- Complete the tasks listed below within the time limit.
- Push your code to the forked repository.
- 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!