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.
- Clone this repository with the following command and head over to the project.
git clone https://github.com/AbrahamX3/hivio.git
-
Install EdgeDB, download it here: https://www.edgedb.com/install
-
Run the following command to create and start a development EdgeDB instance (might take a while due to migrations) locally
edgedb project init
-
Rename the
.env.example
file to.env
. -
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 theTMDB_API_KEY
variable with your API key. This is needed to fetch the data from TMDb when adding a new title. -
To setup EdgeDB authentication (used to access the dashboard and create public profiles), run the following command
edgedb ui
-
Head over to http://localhost:10704/ui/main/auth, navigate to
Providers
and find theGoogle
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 theClient ID
andClient Secret
and paste them in theClient ID
andClient Secret
fields of theGoogle
provider in the UI. Foradditional_scope
addprofile email
as the value, this is needed for creating the user's profile, then click onAdd Provider
. -
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 inAuthorized redirect URIs
:http://localhost:10702/db/main/ext/auth/callback
. -
Then head over to the
Config
tab on the EdgeDB UI and fill in theapp_name
with a name for your app, click onGenerate Random Key
and forallowed_redirect_urls
add the following urls below and pressUpdate
:
http://localhost:3000
http://localhost:3000/hive
http://localhost:3000/auth/signin
- Install your dependencies with the following command
pnpm install
- Run the prebuild command to generate the EdgeDB queries and interfaces.
pnpm run prebuild
- Finally, run the following command to start the development server with the following command
pnpm run dev
- Open http://localhost:3000 with your browser to see
the application. You can click on
Get Started
to login with your Google account.
- 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=""
- 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>
-
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. Examplehttp://localhost:3000/
tohttps://hivio.vercel.app/
-
Deploy to Vercel or any other cloud provider
Licensed under the MIT license