Frontend for Schedule-Pro-API — a SaaS web application that implements the user interface and experience layer for appointment scheduling. The system is designed to be highly scalable, user-friendly, and efficient, with a focus on performance, usability, and seamless API integration.
This project is the frontend implementation of Schedule Pro, a modern SaaS system for scheduling and managing appointments and services.
Built with Next.js, TypeScript, Tailwind CSS, Zustand for state management, and Zod for schema validation, this frontend interacts with a dedicated backend responsible for user authentication, availability management, and service bookings.
- Modern, responsive UI
- Authentication with JWT tokens
- Form validation with Zod
- Global notifications state management using Zustand
- Scheduling and service booking
- Availability display
- User profile and appointment history
- Styled with Tailwind CSS
- Component-based and scalable architecture
- RESTful API integration
The project follows a modular architecture with a clear separation of concerns, utilizing Next.js's built-in routing and API capabilities.
- src/
-
components/ # Reusable UI components
- Button/
- index.tsx
- Button.tsx
- Button.module.scss
- Button/
-
app/ # Next.js routing system
- page.tsx # Landing page
- login/
- page.tsx # Login page
- page.module.scss
-
hooks/ # Custom React hooks
-
lib/ # Utility functions
-
services/ # API and business logic
- index.ts # Axios instance and request handlers
-
context/ # Global state management
-
utils/ # Helper functions
-
types/ # TypeScript interfaces and types
- User.ts
-
styles/ # Global styles
- globals.css
-
Before running the project, ensure that Node.js is installed on your machine. If not, you can download it from the official Node.js website (LTS version recommended).
To verify your Node.js installation, run:
node -v
npm -vgit clone https://github.com/kaikyMoura/Schedule-Pro.gitNavigate to the project's root directory:
cd Schedule-ProUse npm or yarn to install the project dependencies:
npm install
# or
pnpm install
# or
yarn installOnce the dependencies are installed, you can start the development server with:
npm run dev
# or
pnpm run dev
# or
yarn devhttp://localhost:3000The deployment of the project is done on Vercel, leveraging Continuous Integration for automatic builds and deployments. Any changes pushed to the repository on GitHub are automatically built and deployed to Vercel.
- The project is automatically built and deployed whenever changes are pushed to the GitHub repository.
- Environment Variables are configured directly in the Vercel dashboard, ensuring seamless integration between build and deployment.
- Custom Domain can be configured for the deployed application, with automatic SSL certificate setup by Vercel.
The application is accessible via the unique Vercel-generated URL:
# Coming soon...| Page | Description |
|---|---|
/signup |
Register new user |
/login |
Authenticate and get token |
/ |
Authenticated user dashboard |
/appointmens |
View and manage appointments |
/admin/customers |
View and manage customers (Admin only) |
/admin/staffs |
View and manage the staff (Admin only) |
/admin/services |
View and manage (Admin only) available services |
/profile |
User profile and account settings |
⚠️ Important
New routes will be added and documented as development continues.
- Non-commercial project.
- All rights related to user data and privacy are respected.
- This project aims to serve as a learning and portfolio tool.
👨💻 Developed by Kaiky de Moura Tupinambá