Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/eddiehubcommunity/creatorsregistry

A place for Creators to get paid for their content 💰. Companies don't only look for big influencers but also micro influencers. Join the platform and let them find you!
https://github.com/eddiehubcommunity/creatorsregistry

content-creators creators-economy nextjs nodejs postgres prisma

Last synced: about 1 month ago
JSON representation

A place for Creators to get paid for their content 💰. Companies don't only look for big influencers but also micro influencers. Join the platform and let them find you!

Awesome Lists containing this project

README

        

# Creators Registry

A place for Creators to get paid for their content 💰. Companies don't only look for big influencers but also micro influencers. Join the platform and let them find you!

![App screenshot](https://github.com/EddieHubCommunity/CreatorsRegistry/assets/624760/10efe758-a712-43a0-aa61-947ad26361af)

## Getting Started

All contributions welcome, not just code.

### Technologies

- NextJS (AppRouter)
- Prisma
- Postgres
- LinkedIn OAuth

### Local development

This environment is fully on your computer and requires each dependency to be installed and set up, but it gives you the most flexibility for customisation.

#### Prerequisites

NodeJS, Postgres and LinkedIn OAuth

1. Copy `.env.example` to `.env` and fill out the parameters.
- For LinkedIn parameters, create a developer app [here](https://developer.linkedin.com).

#### Environment Variables

| ENVIRONMENT VARIABLE | EXAMPLE VALUE | DESCRIPTION |
| :--------------------- | :--------------------------------------------------------------------- | :------------------------------------------ |
| DATABASE_URL | postgresql://postgres:password@localhost:5432/contentcreator?schema=public | Connection url to your Postgres database |
| NEXTAUTH_URL | http://localhost:3000 | Url to your app |
| NEXTAUTH_SECRET | abcdefg | Random string |
| LINKEDIN_CLIENT_ID | abcd1234efgh5678 | This is generated by the LinkedIn OAuth app |
| LINKEDIN_CLIENT_SECRET | WER.asdflkjlkj234ljljjhg.asdf324jhghjg== | This is generated by the LinkedIn OAuth app |

LinkedIn OAuth Details (click to expand)
Authorized redirect URLs for your app http://localhost:3000/api/auth/callback/linkedin
LinkedIn OAuth screenshot of settings

1. Install the dependencies using `npm ci` from the package lock file (do not use `npm install` unless for a specific reason).
2. Ensure your Postgres server is running on `localhost:5432` with the default username and `POSTGRES_PASSWORD` set as `password`. To start a Postgres server using Docker and Compose, use `docker compose -f postgres.compose.yaml up`.
3. Create the database tables by running `npm run db:dev:migrate` (for production, use `npm run db:prod:migrate`).
4. Seed the database by inserting example data with `npm run db:dev:seed` (if you need to reset the database, use `npm run db:dev:reset`).
5. Start the local development server with `npm run dev`.

### Local Development with Docker Compose

This will allow you to use your favorite IDE without having to install any dependencies on your computer.

#### Prerequisites

Docker and Docker Compose

1. Clone the repository and navigate to the root of the directory.
2. Copy `.env.example` to `.env` and fill out the parameters. Please refer to the [Environment Variables](#environment-variables) section.
- For LinkedIn parameters, create a developer app [here](https://developer.linkedin.com).
- There is no need to change the Postgres URL as it's already set in the [compose.yaml](compose.yaml) file.
3. Run `docker compose up`.
4. In your browser, go to `localhost:3000`, and you should see the project up and running.

## Join the EddieHub community
Discord http://discord.eddiehub.org