- A mostly-static Next.js site which enables users to buy and sell products/services in a democratic manner. The system is primitive in the sense that 'payments' are made at the click of a button lol. Users are also able to chat with one another privately.
- Firebase is the backend for authentication and user data.
- Cloudinary is used to store any uploaded images or videos.
-
npm run dev
to run the Next.js server in development. -
When deploying to production, make sure the production site domain is whitelisted in Firebase. Vercel is currently the most optimal hosting platform for Next.js in my opinion.
-
The Firebase rules can be found here.
-
env.local
must be in the root directory and should contain the following environment variables:View list of environment variables
- NEXT_PUBLIC_FIREBASE_API_KEY
- NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN
- NEXT_PUBLIC_FIREBASE_PROJECT_ID
- NEXT_PUBLIC_FIREBASE_DATABASE_URL
- NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET
- NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID
- NEXT_PUBLIC_FIREBASE_APP_ID
- NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID
- FIREBASE_PRIVATE_KEY (Optional)
- FIREBASE_CLIENT_EMAIL (Optional)
- NEXT_PUBLIC_CLOUDINARY_NAME
- NEXT_PUBLIC_CLOUDINARY_API_KEY
- CLOUDINARY_API_SECRET
- CLOUDINARY_ENV_VAR (Optional)
-
Some of the parameters above are currently optional, but may be required if analytics or Firebase storage are integrated in the future.
-
For Next.js, the prepend NEXT_PUBLIC refers to public keys.