Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/1407arjun/linkhub

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.
https://github.com/1407arjun/linkhub

continuous-deployment continuous-integration mongodb-atlas nextjs nodejs reactjs tailwindcss vercel web-development

Last synced: 3 months ago
JSON representation

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.

Awesome Lists containing this project

README

        



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](https://nodejs.org/en/download/) 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](https://console.cloud.google.com/)

## 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)](#-getting-started)
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`](https://github.com/Team-Fourth-Dimension/FFCSeZ/blob/master/LICENSE) for more information.

## Acknowledgements

1. [Freepik](https://freepik.com) - For the background images.
2. [Bootstrap Icons](http://icons.getbootstrap.com) - For all the icons used throughout the website.