Skip to content

A portal to help you find the right resources to boost your learning from all those available on the World Wide Web. Links are ranked based on the feedback by others who have tried it out, so as to provide you only the best of the best.

License

Notifications You must be signed in to change notification settings

1407arjun/linkhub

Repository files navigation

LinkHub

· Report a bug · Request a feature ·

Build Lint Deploy Release

Table of Contents

  1. About The Project
  2. Getting Started
  3. Contributing
  4. License
  5. Acknowledgements

About the project

LinkHub is a portal to help learners to find the best resources from those available on the World Wide Web. It builds a network of resources wherein all users can post links of resources which they have used and allowing everybody to rate them. With this, the resources are ranked based on the feedback by others who have tried and tested those, thus to provide the learner only the best of the best.

Features

  • No signup required to access the resource data.
  • User-friendly and informative UI for desktops.
  • Markdown editor to create posts.
  • Search using tags, titles or authors.
  • Ranking of posts (resources) based on upvotes to downvotes ratio.
  • Moderation of posts using flags.

Tech Stack

  •  React.js (Next.js)
  •  Tailwind CSS
  •  Node.js
  •  Express.js
  •  MongoDB
  •  TypeScript

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

In order to get a copy of the project you will require you to have Node.js (v14+) and the NPM package manager installed. If you don't have it, you can download the latest version of Node.js from the official website which also installs the NPM package manager by default.

Installation

Open the terminal in the folder in which you wish to clone the repository and enter the following command:

git clone https://github.com/1407arjun/linkhub.git
cd linkhub

Install all the NPM packages:

npm i

In order to run the project in development mode use:

npm run dev

In order to build the project and run, use:

npm run build
npm start

Note that you will have to add your own .env file at the root directory and add your own environment variables for the project to build. Following are the environment variables used:

  • MONGODB_CLIENT_URI - The MongoDB connection string
  • AUTH_SECRET - The secret used when creating a session
  • NEXTAUTH_URL - The domain name (usually http://localhost:300)
  • GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET - The Google OAuth Client ID and Client secret obtained from the Google Cloud Console

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project. (Refer the get started instructions)
  2. Create your Feature Branch. (git checkout -b feature/AmazingFeature)
  3. Commit your Changes. (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch. (git push origin feature/AmazingFeature)
  5. Open a Pull Request.

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements

  1. Freepik - For the background images.
  2. Bootstrap Icons - For all the icons used throughout the website.

About

A portal to help you find the right resources to boost your learning from all those available on the World Wide Web. Links are ranked based on the feedback by others who have tried it out, so as to provide you only the best of the best.

Topics

Resources

License

Stars

Watchers

Forks