SmartTermin is a production-ready booking and business management platform for salons, studios, and independent beauty professionals. This repository is a cleaned public showcase of the project, with private infrastructure details and production secrets removed.
.
├── api/ # ASP.NET Core API and domain projects
│ ├── SmartTermin.Api/
│ ├── SmartTermin.DataAccess/
│ ├── SmartTermin.DomainModels/
│ ├── SmartTermin.DTOs/
│ ├── SmartTermin.Helpers/
│ ├── SmartTermin.Mappers/
│ └── SmartTermin.Services/
├── web/ # React + Vite web application
├── docs/ # Public project documentation
├── .env.example # Shared environment template
└── vercel.json # Example Vercel deployment config for the web app
- ASP.NET Core 6
- Entity Framework Core 6
- MySQL
- React 18
- TypeScript
- Vite
- Firebase Cloud Messaging
- Paddle
- Cloudinary
- Node.js 20+
- npm 10+
- .NET SDK 6.0
- MySQL 8+
git clone https://github.com/pavich5/SmartTermin.git
cd SmartTermin
cd web && npm install
cd ../api && dotnet restore SmartTermin.sln- Copy
web/.env.exampletoweb/.env.local. - Copy
api/SmartTermin.Api/appsettings.Local.json.exampletoapi/SmartTermin.Api/appsettings.Local.jsonif you prefer local overrides. - Replace every placeholder value with your own local or staging credentials.
Reference templates:
- Shared template:
.env.example - Web template:
web/.env.example - API config:
api/SmartTermin.Api/appsettings.json - API local override template:
api/SmartTermin.Api/appsettings.Local.json.example
API:
cd api
dotnet run --project SmartTermin.Api/SmartTermin.Api.csprojWeb:
cd web
npm run devDefault local URLs:
- Web:
http://localhost:3000 - API:
http://localhost:5271 - Swagger:
http://localhost:5271/swagger
cd web
npm run build
cd ../api
dotnet build SmartTermin.sln- Keep secrets out of source control.
- Prefer
appsettings.Local.jsonor deployment environment variables for private values. - Use Swagger for API exploration during development.
vercel.jsonshows a simple Vercel deployment setup for theweb/app.- Configure the
VITE_*variables fromweb/.env.examplein your hosting provider.
- Deploy
api/SmartTermin.Apito your preferred ASP.NET Core host. - Supply all secrets through environment variables or private configuration files not committed to git.
- Keep
PADDLE_API_KEY, database credentials, SMTP credentials, and Firebase service-account files outside the repository.
- API guide:
docs/API.md