Table of Contents
This project is bootstrapped as a monorepo with turborepo. It includes four apps:
- landing - an SSG Next.js app.
- app - a Next.js app.
- vite-storybook - a Storybook app.
- firebase-cloud-functions - a Firebase Cloud Functions backend.
It also includes five packages for shared configurations, types and UI components:
- @repo/eslint-config
- @repo/tsconfig
- @repo/tailwind-config
- @repo/types
- @repo/ui (React component library)
To get a local copy up and running follow these simple steps.
You must be running node v.18.17 or higher.
- Clone the repo:
git clone git@github.com:AndyOooh/event-dee-2.git
- Install packages:
yarn install
To have a functioning backend you have two options:
- Ceate a Firebase project
- Run with emulators
Create a firebase project and add the api key to apps/app/.env and other configurations in apps/app/firebase/clientApp.ts. Lastly, log in to your firebase account:
yarn firebase login
You can run firebase emulators for cloud functions, firestore, auth and storage with:
turbo emulators
Emulators are available at:
- localhost:4000 - cloud functions
- localhost:8080 - firestore
- localhost:9099 - auth
- localhost:9199 - storage
For running tests and starting the development servers, turborepo is used. It is configured to run all apps concurrently. The commands are:
Run dev servers:
turbo dev
Lint
turbo lint
Build apps:
turbo build
To clean the cache and remove build folders and other generated code, run:
turbo clean
In addition you might want to delete the root node_modules folder.
You can also run the apps separately by using the --filter
flag in combination with the app name: landing
, app
, firebase-cloud-functions
or vite-storybook
. For example, to start the client development server only, run:
turbo dev --filter landing
Or you can navigate to the specific app/package directory and use the local commands there with yarn.
Once you have the development servers running, you can access the:
- landing page at localhost:3000
- app at localhost:3001
- storybook at localhost:6006
- Bootstrap repo, apps, packages and configs.
- Firebase set up.
- Storybook set up.
- Emulators set up.
- Landing page.
- Authentication flows.
- User profiles - edit, delete, view.
- Event creation - create, edit, delete, view.
- Event feed.
- Optimize SSG.
- Contract - create, edit, delete, view.
- Contract - sign.
- Video upload, storage and viewing.
- Search.
- Payment.
- ...
See the open issues for a full list of proposed features (and known issues).
👤 AndyOooh
- Website: andyo.xyz
- LinkedIn: @andyooh
- Resume: andyo.xyz/resume
-
Clone Reddit Video (next.js, firebase, react-firebase-hooks, recoil)