{"id":24854722,"url":"https://github.com/sarikasingh30/bhyve-assessment","last_synced_at":"2026-04-07T23:32:10.525Z","repository":{"id":241866307,"uuid":"807766909","full_name":"sarikasingh30/bHyve-assessment","owner":"sarikasingh30","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-31T14:51:03.000Z","size":1348,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-25T21:12:47.249Z","etag":null,"topics":["chakra-ui","javascript","mockapi-io","nextjs","reactjs","redux","redux-toolkit"],"latest_commit_sha":null,"homepage":"https://b-hyve-blog-app.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sarikasingh30.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-29T18:18:48.000Z","updated_at":"2024-05-31T14:51:07.000Z","dependencies_parsed_at":"2024-05-30T12:03:25.720Z","dependency_job_id":"37795309-3197-4b58-bd7a-b23fa11eeaec","html_url":"https://github.com/sarikasingh30/bHyve-assessment","commit_stats":null,"previous_names":["sarikasingh30/bhyve-assessment"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sarikasingh30/bHyve-assessment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarikasingh30%2FbHyve-assessment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarikasingh30%2FbHyve-assessment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarikasingh30%2FbHyve-assessment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarikasingh30%2FbHyve-assessment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sarikasingh30","download_url":"https://codeload.github.com/sarikasingh30/bHyve-assessment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sarikasingh30%2FbHyve-assessment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31533823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chakra-ui","javascript","mockapi-io","nextjs","reactjs","redux","redux-toolkit"],"created_at":"2025-01-31T15:55:22.672Z","updated_at":"2026-04-07T23:32:10.508Z","avatar_url":"https://github.com/sarikasingh30.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BLOG MANAGEMENT SYSTEM\n\n## Introduction\n\nThis project is a blog management system built with Next.js, Redux, and Chakra UI. It allows users to view a list of articles, view individual article details, create new articles, edit existing articles, and delete articles. The application also includes search and filter functionality to enhance the user experience. The application demonstrates a solid understanding of Next.js, Redux for state management, Axios for API requests, and responsive design principles.\n\n## Project Type\n\nFrontend\n\n## Deployed App\n\nFrontend: [https://b-hyve-blog-app.vercel.app](https://b-hyve-blog-app.vercel.app)\n\n## Directory Structure\n\n    my-app/\n    ├── pages/\n    │ ├── articles/\n    │ │ ├── [_id].js\n    │ │ ├── [_id]/\n    │ │ │ ├── edit.js\n    │ ├── index.js\n    ├── components/\n    │ ├── Layout.js\n    │ ├── Navbar.js\n    │ ├── Footer.js\n    ├── redux/\n    │ ├── articlesSlice.js\n    │ ├── store.js\n    ├── styles/\n    │ ├── globals.css\n    ├── public/\n    ├── package.json\n    ├── README.md\n\n\n## Video Walkthrough of the Project\n\n[Video Walkthrough of Features](https://drive.google.com/file/d/1CSldITk-ctrZj7k-bFzTWRjpr2ZAHXzX/view?usp=sharing)\n\n## Features\n\n- List all articles with infinite scrolling.\n- View details of a single article.\n- Create and edit articles.\n- Search and filter articles.\n- Delete articles.\n- Responsive design with Chakra UI.\n\n## Design Decisions and Assumptions\n\n- **State Management:** Redux is used for managing the global state of the application, ensuring that the state is consistent across all components.\n- **API Requests:** Axios is used for making HTTP requests to the MockAPI endpoint.\n- **Responsive Design:** Chakra UI is chosen for its simplicity and ease of creating responsive layouts.\n- **Routing:** Next.js dynamic routing is utilized to manage different article pages and their actions.\n\n## Installation \u0026 Getting Started\n\nTo get the project running locally, follow these steps:\n\n1. Clone the repository:\n    ```bash\n    git clone https://github.com/sarikasingh30/bHyve-assessment.git\n    cd my-app\n    ```\n\n2. Install dependencies:\n    ```bash\n    npm install\n    ```\n\n3. Run the development server:\n    ```bash\n    npm run dev\n    ```\n\n4. Open your browser and navigate to `http://localhost:3000`.\n\n## Usage\n\n### Viewing Articles\n\n1. Open the homepage to view a list of articles.\n2. Scroll down to load more articles with infinite scrolling.\n\n![alt text](./assets/image.png)\n\n### Creating a New Article\n\n1. Click on the \"Create New Article\" button.\n2. Fill out the article form and submit.\n\n![alt text](./assets/image1.png)\n\n### Viewing A Selected Article\n\n1. Click on any article to view its details.\n2. The single article page displays all details and provides options to edit or delete the article.\n\n![alt text](./assets/image2.png)\n\n### Editing an Article\n\n1. Navigate to the article you want to edit.\n2. Click on the \"Edit\" button.\n3. Make changes and submit.\n\n![alt text](./assets/image3.png)\n\n### Deleting an Article\n\n1. Navigate to the article you want to delete.\n2. Click on the \"Delete\" button.\n\n### Searching and Filtering Articles\n\n1. Use the search input to find articles by title.\n2. Use the filter dropdown to filter articles by category.\n\n![alt text](./assets/image4.png)\n\n## Credentials\nNo authentication is required for accessing the application.\n\n## APIs Used\n\n- **MockAPI:** Used for managing the articles.\n  - Endpoint: [https://665780c45c36170526450bc1.mockapi.io/blogs/v1/articles](https://65d5af42f6967ba8e3bc35a3.mockapi.io/blogs/v1/articles)\n  - Documentation: [MockAPI Docs](https://github.com/mockapi-io/docs/wiki)\n\n## API Endpoints\n\n- **GET /blogs/v1/articles**: Retrieve all articles.\n- **POST /blogs/v1/articles**: Create a new article.\n- **GET /blogs/v1/articles/:id**: Retrieve a single article by ID.\n- **PUT /blogs/v1/articles/:id**: Update an article by ID.\n- **DELETE /blogs/v1/articles/:id**: Delete an article by ID.\n\n## Technology Stack\n\n- **Next.js:** React framework for server-side rendering and static site generation.\n- **Redux(ReduxToolkit):** State management library for managing global state.\n- **Axios:** Promise-based HTTP client for making API requests.\n- **Chakra UI:** UI library for building accessible and responsive React applications.\n- **MockAPI:** Service for creating and managing mock RESTful APIs.\n- **React-Quill:** NPM Package for integrating the Quill rich text editor, providing customizable and feature-rich text editing capabilities \n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarikasingh30%2Fbhyve-assessment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsarikasingh30%2Fbhyve-assessment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsarikasingh30%2Fbhyve-assessment/lists"}