Skip to content

Hivio, a watchlist companion: search, add, manage and track your shows and movies.

License

Notifications You must be signed in to change notification settings

AbrahamX3/hivio

Repository files navigation

Hivio

Hivio - Your Watchlist Companion

Hivio, pronounced /haɪˈviːoʊ/ (HAY-vee-oh), is a watchlist companion that helps you easily search, add, manage and organize your series and movies through a user-friendly interface; helping you keep track of your favorite movies and shows. It also helps you discover new content that you might want to watch with the help of the Hivio community, a collection of public user profiles you can discover.

wakatime

Tech Stack

Getting Started Locally

  1. Clone this repository with the following command and head over to the project.
git clone https://github.com/AbrahamX3/hivio.git
  1. Install EdgeDB, download it here: https://www.edgedb.com/install

  2. Run the following command to create and start a development EdgeDB instance (might take a while due to migrations) locally

edgedb project init
  1. Rename the .env.example file to .env.

  2. Head over to https://www.themoviedb.org/ and create an account. Then head over to https://www.themoviedb.org/settings/api to apply for an API key. In your .env file, fill in the TMDB_API_KEY variable with your API key. This is needed to fetch the data from TMDb when adding a new title.

  3. To setup EdgeDB authentication (used to access the dashboard and create public profiles), run the following command

 edgedb ui
  1. Head over to http://localhost:10704/ui/main/auth, navigate to Providers and find the Google provider (currently the only provider configured in the Hivio app). Go to https://console.cloud.google.com/apis/credentials and create a new OAuth client ID. Once you have created the client ID, copy the Client ID and Client Secret and paste them in the Client ID and Client Secret fields of the Google provider in the UI. For additional_scope add profile email as the value, this is needed for creating the user's profile, then click on Add Provider.

  2. In the Google API Console, in the same page where you copied your OAuth data, add the following url to Authorized JavaScript origins: http://localhost:3000 and in Authorized redirect URIs: http://localhost:10702/db/main/ext/auth/callback.

  3. Then head over to the Config tab on the EdgeDB UI and fill in the app_name with a name for your app, click on Generate Random Key and for allowed_redirect_urls add the following urls below and press Update:

http://localhost:3000
http://localhost:3000/hive
http://localhost:3000/auth/signin
  1. Install your dependencies with the following command
pnpm install
  1. Run the prebuild command to generate the EdgeDB queries and interfaces.
pnpm run prebuild
  1. Finally, run the following command to start the development server with the following command
pnpm run dev
  1. Open http://localhost:3000 with your browser to see the application. You can click on Get Started to login with your Google account.

Deploying to Production

  1. You'll need an EdgeDB cloud instance to deploy to production. Generate a secret key and have your instance details on hand to then provide to the following enviorment variables:
EDGEDB_SECRET_KEY=""
EDGEDB_INSTANCE=""
  1. Run the following command to authenticate and apply migrations to your cloud instance (this might take a while to do):
edgedb cloud login
edgedb migrate -I <username>/<instance_name>
  1. Then do the steps in Getting Started Locally from 6 to 8 with the only modification being replacing the URL's with your production url details. Example http://localhost:3000/ to https://hivio.vercel.app/

  2. Deploy to Vercel or any other cloud provider

Deploy with Vercel

License

Licensed under the MIT license

About

Hivio, a watchlist companion: search, add, manage and track your shows and movies.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published