π₯ EP (Event Photos) is a customizable platform for uploading photos from your events.
β‘ Powered by Next.js, Edgestore & Netlify.
EP (Event Photos) is a customizable platform for uploading photos from your events.
- Image Upload to Edgestore
- Bare-Bones Authentication
- Blurhash Generation
- Image Rendering using Netlify CDN
- Adding & Editing Event Details
- CRUD Access to Uploaded Files
- Gallery Lightbox
- User Feedback Mechanisms
- Enhanced User Interface
- Hosting: Netlify
- CDN: Netlify CDN
- Full Stack Framework: Next.js
- Database: Neon (w/ Prisma)
- Authentication: JWT Cookies (w/ Jose)
- File Storage: Edgestore
- Styling: Tailwind CSS
- Programming Language: TypeScript
Ensure that your system meets the following requirements:
Before proceeding, make sure your system satisfies the prerequisites mentioned above.
Firstly, clone the EP repository into your desired folder and navigate into it:
$ git clone https://github.com/omzi/event-photos && cd event-photos
Install the project dependencies using npm (or yarn if you prefer):
npm i
EP requires certain environment variables to be set to function properly. Create a .env
file in the root of your project and add the following variables:
AUTH_SECRET = # A random string. Eg: abcdefghijklmnopqrstuvwxyz
ADMIN_EMAILS = # A comma-space delimited string of admin emails. Eg: admin@event.com, admin@mail.com
ADMIN_PASSWORDS = # A comma-space delimited string of admin passwords. Eg: qwerty, asdfgh
NEXT_PUBLIC_EVENT_NAME = # Name of the event. Eg: DevFest 2024
EDGE_STORE_ACCESS_KEY = # Your Edgestore access key
EDGE_STORE_SECRET_KEY = # Your Edgestore secret key
DATABASE_URL = # Your SQL database URL. You can modify the `schema.prisma` to support other databases
NEXT_PUBLIC_DEPLOYMENT_URL = # Your deployment URL. Eg: https://ep.omzi.dev
Once the environment variables are set, you can run EP locally with:
npm run dev
Visit the URL http://localhost:3000/
in your browser to access the EP application.
- Omezibe Obioha (@0xOmzi)
This project is licensed under the MIT License. See the LICENSE
file for more details.
This project is a WIP. It is NOT yet production-ready π!
Made with β₯