Skip to content

sidiDev/ideavalidator

Repository files navigation

Idea validator project built using EdgeDB and Vercel AI SDK

Getting Started

  1. Clone the repository by running the following command:
git clone https://github.com/sidiDev/ideavalidator.git
  1. After cloning the repository, navigate to the project directory:
cd ideavalidator

EdgeDB Setup

This project uses EdgeDB as a database. You can install it by following the instructions:

After installing the CLI, you can initialize the project by running the following command:

edgedb project init

Next, you can apply the schema migrations by running the following command:

edgedb migration apply

Install Dependencies

This project uses pnpm as a package manager, but you can use npm or yarn.

You can install the dependencies by running the following command:

pnpm install

Environment Variables

This project uses Google APIs for oauth for users authentication. And Google Ads to generate keywors search volume ...etc

To find these API keys below, go to Google Cloud Console

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
NEXTAUTH_SECRET=This variable is typically generated

For AI, we use perplexity API, You can create an account and get the API key from the website but you can use anything else you want like OpenAI GPT ...etc.

PERPLEXITY_API_KEY=

And to find these API keys below, go to Google Ads

GOOGLE_API_DEV_TOKEN=
GOOGLE_API_CUSTOMER_ID=
GOOGLE_API_KEY=
GOOGLE_API_PRIVATE_KEY=
GOOGLE_API_CLIENT_EMAIL=
GOOGLE_API_TOKEN_CLAIM_CUB=

Generate the Types of EdgeDB

To generate the types for the EdgeDB schema, you can run the following command:

pnpm generate:all

It runs npx @edgedb/generate interfaces and npx @edgedb/generate edgeql-js to generate the types. You can also run these commands separately if you want.

You will find the generated types in the dbschema directory.

Development Server

First, run the development server:

pnpm dev

Learn More

To learn more about the stack used in this project, take a look at the following resources:

Releases

No releases published

Packages

No packages published

Languages