Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raihan2bd/vidverse-client
Vidverse β a dynamic web app built with Golang, Next.js, TypeScript, and PostgreSQL. Users can watch, like, comment, and engage with content, while creators easily share and manage videos. Enjoy curated feeds, favorites, watch histories, and notifications.
https://github.com/raihan2bd/vidverse-client
firebase gin go golang gorm nextjs postgres react tailwindcss typescript video-streaming websocket
Last synced: about 1 month ago
JSON representation
Vidverse β a dynamic web app built with Golang, Next.js, TypeScript, and PostgreSQL. Users can watch, like, comment, and engage with content, while creators easily share and manage videos. Enjoy curated feeds, favorites, watch histories, and notifications.
- Host: GitHub
- URL: https://github.com/raihan2bd/vidverse-client
- Owner: raihan2bd
- License: mit
- Created: 2023-10-17T15:26:02.000Z (about 1 year ago)
- Default Branch: dev
- Last Pushed: 2024-05-19T17:11:03.000Z (7 months ago)
- Last Synced: 2024-05-19T18:58:19.102Z (7 months ago)
- Topics: firebase, gin, go, golang, gorm, nextjs, postgres, react, tailwindcss, typescript, video-streaming, websocket
- Language: TypeScript
- Homepage:
- Size: 3.27 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Vidverse
# π Table of Contents
- [π Table of Contents](#-table-of-contents)
- [ Vidverse ](#-about-project-)
- [π Built With ](#-built-with-)
- [Tech Stack ](#tech-stack-)
- [Key Features ](#key-features-)
- [π» Getting Started ](#-getting-started-)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Database](#database)
- [Usage](#usage)
- [Build](#build)
- [Deployment](#deployment)
- [π₯ Authors ](#-authors-)
- [π Future Features ](#-future-features-)
- [π€ Contributing ](#-contributing-)
- [βοΈ Show your support ](#οΈ-show-your-support-)
- [π Acknowledgments ](#-acknowledgments-)
- [π License ](#-license-)# Vidverse
Introducing Vidverse β a dynamic, full-stack web application crafted with Golang (Go), Next.js, TypeScript, PostgreSQL, and a host of other cutting-edge technologies. Vidverse offers users a seamless experience to watch, like, comment, and engage with an eclectic array of content, and users can also authenticate using (credentials and social platforms).Creators have the power to effortlessly share their latest videos and manage their content, while subscribers revel in curated feeds, saved favorites, and personalized watch histories. User can also see their notifications.
This is the front-end version. If you want to see the front-end part please visit [here](https://github.com/raihan2bd/vidverse)
## π Built With
### Tech StackFront End
- Nextjs
- React
- TypeScript
- Html
- CSS
- Tailwind CSS
Back End
- Golang
- PostgreSQL
- Gin
- Gorm
- Web Socket
- Firebase
- Project Screen Shots
![Vidverse](https://raw.githubusercontent.com/raihan2bd/vidverse-client/dev/screenshots/Screenshot%20from%202024-05-17%2023-38-57.png)
![Vidverse](https://github.com/raihan2bd/vidverse-client/blob/dev/screenshots/Screenshot%20from%202024-05-17%2023-39-11.png)
![Vidverse](https://github.com/raihan2bd/vidverse-client/blob/dev/screenshots/Screenshot%20from%202024-05-17%2023-39-43.png)
![Vidverse](https://github.com/raihan2bd/vidverse-client/blob/dev/screenshots/Screenshot%20from%202024-05-17%2023-30-38.png)
![Vidverse](https://github.com/raihan2bd/vidverse-client/blob/dev/screenshots/Screenshot%20from%202024-05-17%2023-31-35.png)
![Vidverse](https://github.com/raihan2bd/vidverse-client/blob/dev/screenshots/Screenshot%20from%202024-05-17%2023-32-10.png)
![Vidverse](https://github.com/raihan2bd/vidverse-client/blob/dev/screenshots/Screenshot%20from%202024-05-17%2023-36-46.png)
![Vidverse](https://github.com/raihan2bd/vidverse-client/blob/dev/screenshots/Screenshot%20from%202024-05-17%2023-35-37.png)
![Vidverse](https://github.com/raihan2bd/vidverse-client/blob/dev/screenshots/Screenshot%20from%202024-05-17%2023-37-04.png)
![Vidverse](https://github.com/raihan2bd/vidverse-client/blob/dev/screenshots/Screenshot%20from%202024-05-17%2023-38-01.png)
- Users can authenticate using their credentials or through various social platforms, ensuring a flexible and convenient login experience.
- Creators can effortlessly share their latest videos and manage their content with ease, fostering a vibrant community of content producers.
- Subscribers enjoy curated feeds, saved favorites, and personalized watch histories, enhancing their viewing experience.
- Users receive notifications, ensuring they stay updated on the latest activities and interactions within the Vidverse community.
To get a local copy up and running, follow these steps.
### Prerequisites
To run this project you need:
- First of all, To run the front end you need to run the [back end](https://github.com/raihan2bd/vidverse) on your local machine.
- Then Make sure you have installed [NodeJs](https://nodejs.org).
- Then make sure you have installed [TypeScript](https://www.typescriptlang.org/)
### Setup
- Then you need to clone the project on your local machineβ¬οΈ
``` bash
git clone https://github.com/raihan2bd/vidverse-client
```
- After that you need to rename the `.env.example` file to `.env` then make sure you update the env file credentials to your credentials. For examples β¬οΈ
```
NEXT_API_URL=Your backend API URL for server side
NEXT_PUBLIC_API_URL=Your backend API URL for client side
NEXTAUTH_SECRET= Your secret key for NextAuth
NEXTAUTH_URL= Your frontend URL
NEXT_PUBLIC_SOCKET_API=Your backend API URL for Socket
# env variables for firebase
NEXT_PUBLIC_FIREBASE_API_KEY= Your firebase API key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN= Your firebase auth domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID= Your firebase project id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET= Your firebase storage bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID= Your firebase messaging sender id
NEXT_PUBLIC_FIREBASE_APP_ID= Your firebase app id
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID= Your firebase measurement id
```
### Install
- To install all the npm packages navigate to the folder address on your terminal and enter the below command β¬οΈ
``` bash
npm install
```
### Usage
To run the development server, execute the following command:
```sh
npm run dev
```
### Deployment
For deployment, you can use [Render](https://vercel.com/)
π€ **Abu Raihan**
- GitHub: [@raihan2bd](https://github.com/raihan2bd)
- Twitter: [@raihan2bd](https://twitter.com/raihan2bd)
- LinkedIn: [raihan2bd](https://linkedin.com/in/raihan2bd)
π€ **Nurgul Kereikhan**
- GitHub: [@githubhandle](https://github.com/NurkaAmre)
- Twitter: [@twitterhandle](https://twitter.com/AmreNurgul)
- LinkedIn: [LinkedIn](https://www.linkedin.com/in/amre-nurgul/)
- [ ] **Implement improvements to provide users with an even smoother and more enjoyable experience.**
- [ ] **Transition the application to a microservices architecture for improved scalability and maintainability.**
- [ ] **Add a new feature called `Shorts` to the platform, enabling users to create and share short-form video content.**
- [ ] **Incorporate FFmpeg to enhance video streaming capabilities similar to YouTube, and leverage AWS for hosting these files to ensure seamless playback and scalability.**
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](https://github.com/raihan2bd/vidverse-client/issues).
If you like this project, please leave a βοΈ
We extend our heartfelt gratitude to [Microverse](https://microverse.org) and [Trevor Sawler](https://www.gocode.ca/) for their invaluable assistance in mastering the tech stack utilized in this project. Additionally, we express our sincere appreciation to [Cloudinary](https://cloudinary.com/) for generously providing us with free cloud space.
This project is [MIT](./LICENSE) licensed.