AppointEase is a modern, user-friendly appointment scheduling application designed to streamline event management, availability tracking, and meeting organization. Built with a cutting-edge tech stack, AppointEase offers a seamless user experience and professional features for individuals and businesses. 🔗 Live Link
- Polished and responsive design with the following sections:
- Navbar
- Hero Section
- Trusted by the Best Companies
- Features Overview
- Testimonials
- Call to Action
- Secure login powered by NextAuth.
- Social authentication via Google and GitHub.
- Post-login profile setup with username and full name configuration.
- Calendar synchronization through Nylas.
Organized into four main sections:
-
Event Type:
- Create events with:
- Title, slug, description, and duration.
- Video call provider selection (Zoom, Google Meet, Microsoft Teams).
- Manage events:
- Update or delete events.
- Preview event details.
- Set events as active/inactive.
- Copy sharable event URLs.
- Create events with:
-
Availability:
- Set active/inactive days for scheduling.
- Define and update available time slots.
-
Meetings:
- View all booked meetings.
- Join meetings via provided links.
- Cancel meetings when needed.
-
Settings:
- Update profile information (name and profile image).
-
Theme:
- Toggle between Light and Dark themes for a personalized experience.
- Frontend: Next.js, React, Tailwind CSS, ShadCN UI, TypeScript
- Backend: Prisma, Supabase, Nylas
- Authentication: NextAuth (Google and GitHub OAuth)
- Additional Tools: date-fns, react-aria-components, UploadThing, Zod
-
Clone the repository:
git clone https://github.com/shihab01118/AppointEase cd AppointEase code .
-
Install dependencies:
npm install
-
Set up environment variables
-
Create a .env file in the root directory.
-
Add the following variables:
AUTH_SECRET=your_app_auth_secret AUTH_GITHUB_ID=your_github_app_auth_id AUTH_GITHUB_SECRET=your_github_app_auth_secret AUTH_GOOGLE_ID=your_google_app_auth_id AUTH_GOOGLE_SECRET=your_google_app_auth_secret DATABASE_URL=your_database_url_from_supabase DIRECT_URL=your_direct_url_from_supabase NYLAS_API_SECRET_KEY=your_nylas_api_secret_key NYLAS_API_URI=your_nylas_api_uri NYLAS_CLIENT_ID=your_nylas_client_id NEXT_PUBLIC_URL=http://localhost:3000(to run locally) UPLOADTHING_TOKEN=your_uploadthing_token(for image uploading)
-
-
Run the development server:
npm run dev
-
Open the browser and navigate to http://localhost:3000
- Log in using Google or GitHub.
- Complete the profile setup and connect with Nylas for calendar synchronization.
- Use the dashboard to:
- Manage events.
- Set availability.
- View and join meetings.
- Update profile settings.
Here are some screenshots showcasing the key features of AppointEase:
-
Landing Page
-
Event Type Page
-
Create Event Page
-
Meeting Preview Page
-
Availability Settings
-
Meetings Page
-
Meetings Page
Contributions are welcome! Please follow the steps below:
- Fork the repository.
- Create a feature branch:
git checkout -b branch-name
- Commit your changes:
git commit -m "Add some feature"
- Push to the branch:
git push origin branch-name
- Open a pull request.
For any questions or feedback, feel free to reach out:
- Email: shahed.shihab.0@gmail.com
- GitHub: shihab01118
AppointEase - Simplify your scheduling today!