This repository contains the source code for the Two Perfect Events website.
Two Perfect Events is a premier wedding and event planning company specializing in creating chic and multicultural experiences for creative souls. This website showcases their portfolio, details their services, hosts a blog, and provides ways for potential clients to get in touch.
Visit the live website at https://twoperfectevents.com.
The website is built with a modern tech stack including:
- Frontend: Next.js (React Framework)
- CMS: Prismic
- Styling: Tailwind CSS
- ORM: Drizzle ORM
- Email: Resend for contact forms and communication.
- Deployment: Vercel
- Home: Primary landing marketing page.
- About: About the team and company.
- Events Portfolio: Displays a gallery of past events and weddings.
- Services: Details the event planning and design services offered.
- Contact: Allows potential clients to inquire about services.
- Blog: Features articles, tips, and inspiration related to event planning.
- Newsletter Subscription: Enables users to sign up for updates and tips.
To get a local copy up and running, follow these simple steps.
- Node.js (v18 or later recommended)
- pnpm (or npm/yarn if you prefer, but commands below use pnpm)
- Clone the repo:
# If you haven't cloned the repository yet: # git clone <repository-url> # cd <repository-name> # If you have already cloned, navigate to the project directory.
- Install PNPM packages:
pnpm install
- Set up environment variables:
Create a
.env.localfile in the root of the project. You will need to add a Prismic API endpoint and any other necessary credentials for services like Resend or your database. Refer to.env.exampleif available (if not, you'll need to consult the Prismic and other service documentation for required variables). A typical Prismic setup might look like:PRISMIC_ENDPOINT=YOUR_PRISMIC_API_ENDPOINT # Add other variables like RESEND_API_KEY, DATABASE_URL etc.
- Run the development server:
This will start the Next.js development server, typically on
pnpm dev
http://localhost:3000, and the Slice Machine development server, typically onhttp://localhost:9999.
Content for this website is managed through Prismic. To edit content:
- Go to prismic.io/dashboard.
- Select the repository for this website.
- Navigate to the documents or Slices you wish to edit.
For more details on how Prismic is integrated, refer to the following files:
prismicio.ts: Configuration for the Prismic client.app/layout.tsx: Includes Prismic provider setup.slices/: Contains the Slice components.
This Next.js application is typically deployed on Vercel. For more information on deploying Next.js applications, see the Next.js deployment documentation.
Contributions are welcome! Please follow the conventional commit guidelines when submitting pull requests.
More info about Conventional Commits Conventional commit types are used to categorize changes to source code. They help make it easier to understand the history of changes and avoid miscommunication.
- feat: Adds a new feature
- fix: Fixes a bug
- docs: Adds or updates documentation
- style: Improves code structure or format without changing code logic
- refactor: Modifies code without adding new features or fixing bugs
- test: Adds or modifies tests
- chore: Updates build tasks, CI configurations, and other non-production code changes
- perf: Improves performance
- build: Changes that affect the build system or external dependencies
- ci: Changes to CI configuration files and scripts
- ops: Affects operational components like infrastructure, deployment, backup, and recovery
- Prefix each commit with a type, such as "feat" or "fix", followed by a colon and a space
- Include a short description of the code changes after the type
- Optionally include a longer commit body after the short description
- Optionally include a footer that contains additional issue references
This project is licensed under the MIT License. See the LICENSE file for details.