GithubHelp home page GithubHelp logo

vishalverma9572 / linkhub Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 14.34 MB

๐Ÿš€ LinkHub enables users to create personalized linktrees or personal pages, offering a platform to manage and share links effectively.

Home Page: https://linkhub-frontend-deploy.vercel.app/

License: MIT License

HTML 0.90% JavaScript 69.74% CSS 29.36%
expressjs full-stack mern mern-project mern-stack mern-stack-development mongodb nodejs react reactjs web-applications web-development webdevelopment

linkhub's Introduction

LinkHub

LinkHub is a full-stack web application created using the MERN (MongoDB, Express, React, Node.js) stack. It enables users to create personalized linktrees or personal pages, offering a platform to manage and share links effectively.

LinkHub Logo

Table of Contents

Introduction

LinkHub is a platform that allows you to share your links with the world. You can share your social media profiles, websites, blogs, and much more with just one link. Create your free account today!.LinkHub allows users to create personalized pages to manage and share links. It includes user authentication, password reset functionality, and a user-friendly interface for managing links.

Features

  • Secure user authentication and authorization using JWT (JSON Web Tokens)
  • Password reset functionality with email verification using Nodemailer
  • User-friendly interface to create and manage personalized linktrees or personal pages
  • Responsive design for optimal viewing on different devices

views

  • HOME page Screenshot

  • SignUp Page Screenshot

  • SignIn Page Screenshot

  • DashBoard Page Screenshot

    Screenshot

  • Profile Page Screenshot

  • Create Page Screenshot Screenshot

  • Short_View Page Screenshot Screenshot

  • Page_View page Screenshot Screenshot

  • Forgot_password Page Screenshot

  • Email Screenshot

  • Reset Password page Screenshot

Technologies Used

  • Frontend:

    • React
    • CSS
    • HTML
  • Backend:

    • Node.js
    • Express
    • MongoDB
    • Mongoose
    • JWT (JSON Web Tokens)
    • Nodemailer

Installation

To set up the project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/vishalverma9572/LinkHub.git
    cd LinkHub
  2. Install dependencies:

    • Backend:

      cd Backend
      npm install
    • Frontend:

      cd ../frontend
      npm install

Usage

  1. Start the backend server:

    cd Backend
    npm start

    This will start the backend server on http://localhost:4500.

  2. Start the frontend server:

    cd ../frontend
    npm start

    This will start the frontend development server on http://localhost:3000.

Project Structure

LinkHub/
โ”œโ”€โ”€ Backend/
โ”‚   โ”œโ”€โ”€ Authenticate/
โ”‚   โ”œโ”€โ”€ database/
โ”‚   โ”œโ”€โ”€ node_modules/
โ”‚   โ”œโ”€โ”€ index.js
โ”‚   โ”œโ”€โ”€ package.json
โ”‚   โ”œโ”€โ”€ package-lock.json
โ”‚   โ””โ”€โ”€ Backend.md
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ node_modules/
โ”‚   โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ images/
โ”‚   โ”‚   โ”œโ”€โ”€ pages/
โ”‚   โ”‚   โ”œโ”€โ”€ scripts/
โ”‚   โ”‚   โ”œโ”€โ”€ App.css
โ”‚   โ”‚   โ”œโ”€โ”€ App.js
โ”‚   โ”‚   โ”œโ”€โ”€ App.test.js
โ”‚   โ”‚   โ”œโ”€โ”€ index.css
โ”‚   โ”‚   โ”œโ”€โ”€ index.js
โ”‚   โ”‚   โ”œโ”€โ”€ reportWebVitals.js
โ”‚   โ”‚   โ””โ”€โ”€ setupTests.js
โ”‚   โ”œโ”€โ”€ package.json
โ”‚   โ”œโ”€โ”€ package-lock.json
โ”‚   โ””โ”€โ”€ README.md
โ”œโ”€โ”€ .gitignore
โ””โ”€โ”€ Readme.md

API Endpoints

Authentication and User Management

  • Register a new user

    • Endpoint: POST /register
    • Request Body: { "name": "string", "email": "string", "password": "string" }
    • Description: Registers a new user and sends a welcome email.
  • Login user

    • Endpoint: POST /login
    • Request Body: { "email": "string", "password": "string" }
    • Description: Authenticates a user and returns a JWT token.
  • Forgot password

    • Endpoint: POST /forgot-password
    • Request Body: { "email": "string" }
    • Description: Sends a password reset link to the user's email.
  • Reset password

    • Endpoint: POST /reset-password/:token
    • Request Body: { "newPassword": "string" }
    • Description: Resets the user's password using the reset token.

Link Management

  • View a link

    • Endpoint: GET /view-link/:linkId
    • Description: Fetches the details of a specific link by its ID.
  • Get a link (Authenticated)

    • Endpoint: GET /get-link/:linkId
    • Description: Fetches the details of a specific link by its ID for authenticated users.
  • Create a new link (Authenticated)

    • Endpoint: POST /create-link
    • Request Body: { "title": "string", "url": "string", ... }
    • Description: Creates a new link for the authenticated user.
  • Update a link (Authenticated)

    • Endpoint: PUT /update-link
    • Request Body: { "linkId": "string", "title": "string", "url": "string", ... }
    • Description: Updates an existing link for the authenticated user.
  • Delete a link (Authenticated)

    • Endpoint: DELETE /delete-link/:linkId
    • Description: Deletes a specific link by its ID for the authenticated user.
  • Publish a link (Authenticated)

    • Endpoint: PUT /publish-link/:linkId
    • Description: Publishes a specific link by its ID for the authenticated user.
  • Unpublish a link (Authenticated)

    • Endpoint: PUT /unpublish-link/:linkId
    • Description: Unpublishes a specific link by its ID for the authenticated user.

Secure Routes

  • Get user dashboard (Authenticated)

    • Endpoint: GET /dashboard
    • Description: Fetches the dashboard data for the authenticated user.
  • Update password (Authenticated)

    • Endpoint: PUT /update-password
    • Request Body: { "newPassword": "string" }
    • Description: Updates the password for the authenticated user.

Contributing

Contributions are welcome! Please fork the repository and create a pull request with your changes. Make sure to follow the project's coding style and include appropriate tests.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For any inquiries or feedback, please reach out via email: [email protected]


linkhub's People

Contributors

vishalverma9572 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.