Blogged is a simple web application where you can share your personal blog posts and stories.
- User Management: log in with a username and password obtained from dummyjson.com/users, and manage their sessions.
- Post Management: Users can create, edit, and delete their own blog posts. They can also like posts created by other users.
- Comments: Users can comment on blog posts, edit or delete their comments, and view comments on their posts. They can also like comments made by other users.
- Image Upload: Users can upload images to their blog posts.
- Search: Users can search among blog posts.
- React: A JavaScript library for building user interfaces.
- React Router Dom: Declarative routing for React.
- Redux Toolkit: The official, opinionated, batteries-included toolset for efficient Redux development.
- Axios: Promise-based HTTP client for the browser and Node.js.
- Formik: Form library for React.
- Styled Components: CSS-in-JS library for styling React components.
- Yup: JavaScript schema builder for value parsing and validation.
- Mui (Material-UI): React components for faster and easier web development.
- Markdown Air: A simple and fast markdown parser.
- React Markdown: Markdown component for React.
- React Syntax Highlighter: Syntax highlighting component for React using
react-syntax-highlighter
. - React Highlight: Component to highlight code using
highlight.js
. - React Hot Toast: A lightweight and customizable toast notification for React.
The project uses a dummy JSON API for fetching and managing data. This API provides mock data for blog posts, comments, and user authentication. Users can log in with a username and password provided by the dummy JSON API at https://dummyjson.com/users.
- Requirements: Make sure you have Node.js installed to run the project.
- Installation: Navigate to the project directory and run
npm install
. - Run: Start the project with
npm run dev
command. By default, the application runs atlocalhost:5173
. - Browser: Go to
localhost:5173
in your browser and access Blogged.