ProjectR is an open-source mobile & web solution that helps small and medium businesses handle, track, and optimize appointments — with modern scheduling, real-time notifications, and a vision for AI-powered smart booking.
Link to Design: https://www.figma.com/design/MVeaUyF5dKVPqE2ngOj4yu/Project-R?node-id=427-9226&t=VvlOFmwMdmMVJyaG-0
✅ Schedule and manage appointments effortlessly
✅ Handle business availability, working hours, and breaks
✅ Real-time notifications (SMS, Email, WhatsApp planned)
✅ Modular architecture: easily extensible to microservices
✅ Built with .NET 8 backend and Flutter for web + mobile
✅ PostgreSQL database (containerized for dev)
✅ Clean Architecture principles — maintainable, testable code
✅ Future: AI-powered smart scheduling and personalized recommendations
- .NET 8 SDK
- Flutter
- Docker
- PostgreSQL (runs in Docker)
# Clone the repo
git clone https://github.com/YOUR_USERNAME/ProjectR.git
cd ProjectR
checkout to develop (thats the stable branch)
# Spin up the Postgres DB & API container
docker compose up db [this spins up the postgres container]
you can then run using "dotnet run" or using a debug profile (vs and vscode)
# Migrate database (from inside your API project)
databse auto migrates. all pending migration changes gets applied once you run the project
🗂️ Project Structure
ProjectR.Backend/ # .NET API (Clean Architecture)
├── ProjectR.Backend.API/ # Entry point (controllers, endpoints)
├── ProjectR.Backend.Application/ # Use cases, business logic, DTOs
├── ProjectR.Backend.Domain/ # Domain models, core business rules
├── ProjectR.Backend.Infrastructure/ # EF Core, DB context, services
flutter_app/ # Flutter client (mobile + web)
⚙️ Configuration
App config: appsettings.json
Database: PostgreSQL (docker-compose.yml)
Environment variables you might override:
ConnectionStrings__DefaultConnection
ASPNETCORE_ENVIRONMENT
AppSettings changes have been deliberately ignored here. If you need the files, I am more than happy to share with you.
📡 API
Swagger: https://localhost:{port}/swagger when running in dev.
REST endpoints for authentication, scheduling, notifications, availability.
🤖 Planned AI Extensions
1. Smart slot recommendations
2. Predictive scheduling
3. Sentiment & feedback insights
4. Auto reminders & no-show detection
✅ Contributing
We 💙 contributions! Please follow these steps:
1. Fork the repo
2. Create your feature branch: `git checkout -b feature/YourFeature`
3. Commit your changes: `git commit -m 'Add amazing feature'`
4. Push to your branch: `git push origin feature/YourFeature`
5. Open a Pull Request!
---
📢 Code of Conduct
Be kind, helpful, and respectful. We want ProjectR to be welcoming for everyone.
---
📄 License
This project is licensed under the **MIT License**
---
🙌 Acknowledgements
Built with ❤️ by Faith Sodipe
Inspired by businesses that want better time management for customers and staff alike.
---
💌 Contact
* Project maintainer: Faith Sodipe (faithsodipe@gmail.com)
* LinkedIn: https://www.linkedin.com/in/sodipefaith/
* Website: classykdigital.com
---
⭐️ Show your support!
If you find this project helpful:
* ⭐️ Star this repo
* 📣 Share it with others
* 🛠️ Contribute and grow the community!