{"id":19793928,"url":"https://github.com/yash1hingu/yashblog","last_synced_at":"2026-04-10T12:32:04.744Z","repository":{"id":214886835,"uuid":"737595004","full_name":"Yash1Hingu/yashblog","owner":"Yash1Hingu","description":"A full-stack blogging web application built with Node.js, Express.js, MongoDB, and React.js. Users can register, login, create, read, update, and delete blog posts, comment on posts, like posts, view user profiles, and share blogs on social media platforms. Features include JWT-based authentication, image upload, and responsive design.","archived":false,"fork":false,"pushed_at":"2024-06-23T13:17:47.000Z","size":14646,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T15:36:41.046Z","etag":null,"topics":["expressjs","imgbb-api","jwt","jwt-authentication","mongodb","mongoose","multer","nodejs","reactjs","responsive-design"],"latest_commit_sha":null,"homepage":"https://yashblog.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/Yash1Hingu.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":"2023-12-31T17:06:32.000Z","updated_at":"2024-06-23T15:10:24.000Z","dependencies_parsed_at":"2024-01-13T10:55:26.296Z","dependency_job_id":"56e30dd9-47e5-44cb-8573-0a6862574409","html_url":"https://github.com/Yash1Hingu/yashblog","commit_stats":null,"previous_names":["yash1hingu/yashblog"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Yash1Hingu/yashblog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yash1Hingu%2Fyashblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yash1Hingu%2Fyashblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yash1Hingu%2Fyashblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yash1Hingu%2Fyashblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yash1Hingu","download_url":"https://codeload.github.com/Yash1Hingu/yashblog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yash1Hingu%2Fyashblog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31642750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: 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":["expressjs","imgbb-api","jwt","jwt-authentication","mongodb","mongoose","multer","nodejs","reactjs","responsive-design"],"created_at":"2024-11-12T07:11:40.152Z","updated_at":"2026-04-10T12:32:04.726Z","avatar_url":"https://github.com/Yash1Hingu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blogging Web Application\n\nWelcome to the Blogging Web Application repository! This application allows users to create, read, update, and delete blogs, comment on posts, like posts, view user profiles, and share blogs on social media.\n\n## Live Demo\n\nCheck out the live version of the application [here](https://yashblog.vercel.app/).\n\n## Features\n\n- **User Authentication**: Register and login securely.\n- **Blog Management**: Create, read, update, and delete blog posts.\n- **User Profiles**: View profiles of users including their blogs.\n- **Social Sharing**: Share blogs on social media platforms.\n\n## Technologies Used\n\n- **Frontend**: HTML, CSS, JavaScript, React.js\n- **Backend**: Node.js, Express.js\n- **Database**: MongoDB\n- **Authentication**: JWT (JSON Web Tokens)\n- **Styling**: Tailwind CSS, Bootstrap\n\n## Installation\n\nTo run this application locally, follow these steps:\n\n1. Clone the repository\n    ```bash\n    git clone https://github.com/Yash1Hingu/yashblog.git\n    cd yashblog\n    ```\n\n2. Install the dependencies\n    ```bash\n    npm install\n    ```\n\n3. Create a `.env` file in the root directory and add the following environment variables\n    ```\n    MONGO_URI=your_mongodb_uri\n    JWT_SECRET=your_jwt_secret\n    ```\n\n4. Run the application\n    ```bash\n    npm start\n    ```\n\nThe application will be available at `http://localhost:3000`.\n\n## Routes and Features\n\n### React Router Routes\n\n#### 1. **Public Routes**\n- `/` - Homepage displaying all blog posts.\n- `/login` - Login page for existing users.\n- `/register` - Registration page for new users.\n\n#### 2. **Authenticated Routes**\n- `/home` - User home after successful login.\n- `/create` - Form to create a new blog post.\n- `/post/:id` - View a single blog post.\n- `/user/:id` - View user profile by ID.\n- `/edit/:id` - Edit an existing blog post.\n\n### Routes and Features\n\n#### User Routes\n\n- **POST /register**\n  - Register a new user with username, email, password, and profile image.\n- **POST /login**\n  - Login with username and password.\n- **GET /profile**\n  - Retrieve user profile information.\n- **POST /logout**\n  - Logout the user.\n\n#### Blog Routes\n\n- **POST /post**\n  - Create a new blog post with title, summary, content, and cover image.\n- **GET /post**\n  - Get all blog posts.\n- **GET /userposts/:id**\n  - Get blog posts by a specific user.\n- **GET /post/:id**\n  - Get a single blog post by ID.\n- **PUT /post**\n  - Update a blog post.\n- **DELETE /delete/:id**\n  - Delete a blog post by ID.\n\n#### User Profile Route\n\n- **GET /user/:id**\n  - Get user profile by ID.\n\n## Usage\n\n1. Register a new account or login with an existing account.\n2. Create a new blog post by clicking on the \"Create Blog\" button.\n3. View blog posts on the homepage and click on a post to read it in detail.\n4. Add comments and like posts.\n5. Visit user profiles to see their posts and information.\n6. Share interesting blog posts on your social media accounts.\n\n## Contact\n\nIf you have any questions or feedback, feel free to contact me at yash23hingu@gmail.com.\n\n---\n\nThank you for visiting the Blogging Web Application repository!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyash1hingu%2Fyashblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyash1hingu%2Fyashblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyash1hingu%2Fyashblog/lists"}