Skip to content

classyk12/ProjectR.Backend

Repository files navigation

ProjectR 📅 — Smart Scheduling & Appointment Management

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


📌 Features

✅ 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


🚀 Getting Started

📦 Requirements


🐳 Run Locally (Dev)

# 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!

About

This is the repository for the ProjectR Backend system built with .NET and C#.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors