Blog App - Copy this React, Tailwind Component to your project
Objective Create a basic blog application with a list view and a detail view for blog posts, and deploy it to a cloud platform. This task will assess your skills in frontend development, backend development, database management, and deployment. Requirements Backend NodeJS Set up a RESTful API with the following endpoints: GET /posts (list all posts) GET /posts/:id (get a specific post) POST /posts (create a new post) PUT /posts/:id (update a post) DELETE /posts/:id (delete a post) Implement a simple database model for blog posts using MySQL database Implement basic error handling and input validation Frontend (React) Create a responsive layout with a header, main content area, and footer Implement a list view of blog posts, displaying title and excerpt Implement a detail view for individual blog posts Create a form for adding new blog posts Implement basic client side form validation Full Stack Integration Connect the frontend to the backend API Implement proper error handling and loading states Use appropriate state management techniques Deployment Deploy the full stack application to a cloud platform (e.g., Render, Fly.io, Heroku) Ensure the deployed application is fully functional Provide clear documentation on how to access and use the deployed application Bonus Points Implement a good design for the blog You can use this for reference https://www.figma.com/design/iCi42NilLXCVnqpFz2L9ez/Fullstack task?node id=0 1&t=nF62BgBxoiCqtZ3G 1 Implement user authentication Add a comment system for blog posts Implement a search functionality Add unit tests for both frontend and backend Set up a CI/CD pipeline for automated deployment Evaluation Criteria Code quality and organization Proper use of frontend and backend technologies Database design and query efficiency API design and implementation User interface and experience Error handling and edge case management Version control usage (provide a GitHub repository) Successful deployment and application accessibility Quality of deployment documentation and instructions
