{"id":29633794,"url":"https://github.com/karanhimadri/prescripto-backend-springboot","last_synced_at":"2025-09-05T07:36:38.714Z","repository":{"id":305320222,"uuid":"1014639227","full_name":"karanhimadri/prescripto-backend-springboot","owner":"karanhimadri","description":"A comprehensive healthcare management platform built with Spring Boot that connects patients with healthcare providers, enabling seamless appointment booking, profile management, and secure payment processing.","archived":false,"fork":false,"pushed_at":"2025-07-19T11:04:49.000Z","size":47,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-19T16:06:02.553Z","etag":null,"topics":["java-17-maven","jpa-hibernate","jwt-authentication","loombok","multi-role-authentication","mysql-database","razorpay-payment","spring-boot","spring-mvc","spring-security","tomcat-server"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karanhimadri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-06T05:43:03.000Z","updated_at":"2025-07-19T11:05:58.000Z","dependencies_parsed_at":"2025-07-19T16:06:32.657Z","dependency_job_id":"7fc838c8-10f5-4404-8e5e-85bc26becc21","html_url":"https://github.com/karanhimadri/prescripto-backend-springboot","commit_stats":null,"previous_names":["karanhimadri/prescripto-backend-springboot"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/karanhimadri/prescripto-backend-springboot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karanhimadri%2Fprescripto-backend-springboot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karanhimadri%2Fprescripto-backend-springboot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karanhimadri%2Fprescripto-backend-springboot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karanhimadri%2Fprescripto-backend-springboot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karanhimadri","download_url":"https://codeload.github.com/karanhimadri/prescripto-backend-springboot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karanhimadri%2Fprescripto-backend-springboot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273727651,"owners_count":25157132,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java-17-maven","jpa-hibernate","jwt-authentication","loombok","multi-role-authentication","mysql-database","razorpay-payment","spring-boot","spring-mvc","spring-security","tomcat-server"],"created_at":"2025-07-21T15:00:35.220Z","updated_at":"2025-09-05T07:36:33.699Z","avatar_url":"https://github.com/karanhimadri.png","language":"Java","readme":"# 🏥 Prescripto - Cloud-Ready Healthcare Management System\n\n\u003e **A production-grade, cloud-deployed Spring Boot application demonstrating full-stack development, DevOps practices, and enterprise-level architecture**\n\n[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.5.3-brightgreen.svg)](https://spring.io/projects/spring-boot)\n[![Java](https://img.shields.io/badge/Java-17+-orange.svg)](https://www.oracle.com/java/)\n[![MySQL](https://img.shields.io/badge/MySQL-8.0+-blue.svg)](https://www.mysql.com/)\n[![Docker](https://img.shields.io/badge/Docker-Containerized-blue.svg)](https://www.docker.com/)\n[![Render](https://img.shields.io/badge/Deployed-Render.com-success.svg)](https://render.com/)\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n## 🚀 Project Overview\n\nPrescripto is a **fully-deployed, cloud-ready healthcare management backend** that showcases modern software development practices, from code to production deployment. This project demonstrates expertise in **Spring Boot development**, **cloud deployment**, **DevOps workflows**, and **production-ready architecture**.\n\n## 💼 Professional Skills Demonstrated\n\n### 🏗️ **Backend Development Excellence**\n- **Spring Boot** ecosystem mastery with secure, scalable architecture\n- **RESTful API** design with proper HTTP methods and status codes\n- **JWT Authentication** with role-based access control (RBAC)\n- **Database modeling** with JPA/Hibernate and MySQL optimization\n- **Payment integration** with Razorpay API for secure transactions\n\n### ☁️ **DevOps \u0026 Cloud Deployment**\n- **Docker containerization** for consistent development-to-production environments\n- **Cloud deployment** on Render.com using both Docker and GitHub integration\n- **Database hosting** on Railway with environment-based configuration\n- **Application monitoring** with Spring Boot Actuator and health endpoints\n- **Service availability** management with UptimeRobot monitoring\n\n### 🔐 **Security \u0026 Production Readiness**\n- **Spring Security** implementation with JWT filter chains\n- **Environment-based configuration** with secure credential management\n- **File upload handling** with security validations\n- **CORS configuration** for cross-origin security\n- **Production monitoring** with health checks and observability\n\n## ✨ Key Features \u0026 Achievements\n\n### 🎯 **What I Built and Deployed**\n- ✅ **JWT-secured REST APIs** for Patients, Doctors, and Admins with role-based access\n- ✅ **Dockerized Spring Boot application** for consistent dev-to-deploy environments\n- ✅ **Cloud deployment** to Render.com using both Docker and GitHub-based methods\n- ✅ **Cloud database integration** with Railway MySQL using environment variables\n- ✅ **Payment processing** with Razorpay API for appointment transactions\n- ✅ **File management system** for image uploads with static file serving\n- ✅ **Health monitoring** endpoints (`/actuator/health`, `/v1/`) for observability\n- ✅ **Production-ready configuration** with security and monitoring best practices\n\n## 🛠️ Technology Stack \u0026 Architecture\n\n| **Category** | **Technology** | **Purpose** |\n|--------------|----------------|-------------|\n| **Backend Framework** | Spring Boot 3.5.3 | RESTful API development with enterprise features |\n| **Language** | Java 17+ | Modern Java with latest language features |\n| **Database** | MySQL 8.0+ (Railway Cloud) | Relational database with cloud hosting |\n| **Security** | Spring Security + JWT | Stateless authentication with role-based access |\n| **Payment** | Razorpay API | Secure payment processing for healthcare services |\n| **DevOps** | Docker + Render.com | Containerization and cloud deployment |\n| **Monitoring** | Spring Actuator | Application health and metrics monitoring |\n| **Architecture** | MVC + Repository Pattern | Clean, maintainable code structure |\n\n### �️ **Enterprise Architecture Pattern**\n```\n┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐\n│   Controllers   │ ──▶│    Services     │ ──▶│  Repositories   │\n│  (REST Layer)   │    │ (Business Logic)│    │ (Data Access)   │\n└─────────────────┘    └─────────────────┘    └─────────────────┘\n         │                       │                       │\n         ▼                       ▼                       ▼\n┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐\n│      DTOs       │    │   Utilities     │    │   JPA Entities  │\n│ (Data Transfer) │    │   (Helpers)     │    │ (Database Maps) │\n└─────────────────┘    └─────────────────┘    └─────────────────┘\n```\n\n## 🌐 Deployment \u0026 DevOps Workflow\n\n### **Production Deployment Stack**\n- **🐳 Docker Hub**: Container registry for application images\n- **☁️ Render.com**: Cloud platform for application hosting\n- **🗄️ Railway**: Cloud MySQL database hosting\n- **📊 UptimeRobot**: Service monitoring to prevent free-tier sleep\n- **🔐 Environment Variables**: Secure credential management\n\n### **Deployment Methods Mastered**\n1. **Docker-based Deployment**: Built, tagged, and pushed images to Docker Hub\n2. **GitHub Integration**: Direct deployment from repository with auto-builds\n3. **Environment Management**: Configured production variables via Render dashboard\n4. **Database Connectivity**: Connected Spring Boot to cloud MySQL via environment configs\n\n## � Learning Outcomes \u0026 Professional Growth\n\n### **Full-Stack Development Lifecycle Mastery**\n- ✅ **Code → Container → Cloud**: Complete development-to-production pipeline\n- ✅ **Production-Ready Design**: Security, monitoring, and role-based access control\n- ✅ **DevOps Integration**: Docker workflows and cloud deployment strategies\n- ✅ **Real-World Tools**: UptimeRobot, Railway, Actuator, and Spring Cloud concepts\n\n### **Enterprise Development Practices**\n- ✅ **Stateless Backend Architecture** with JWT authentication\n- ✅ **SecurityFilterChain** implementation for fine-grained access control  \n- ✅ **Clean Architecture** with Controller → Service → Repository pattern\n- ✅ **Environment-based Configuration** for development, testing, and production\n\n## 🚀 Quick Start Guide\n\n### **Prerequisites**\n- Java 17+, MySQL 8.0+, Docker (optional)\n- Razorpay account for payment testing\n- Cloud accounts: Render.com, Railway (for production deployment)\n\n### **Local Development Setup**\n```bash\n# Clone and navigate to project\ngit clone https://github.com/karanhimadri/prescripto.git\ncd prescripto\n\n# Build and run application\n./mvnw clean install\n./mvnw spring-boot:run\n\n# Access application\ncurl http://localhost:8080/v1/  # Health check\n```\n\n### **Docker Deployment**\n```bash\n# Build Docker image\ndocker build -t prescripto:latest .\n\n# Run with volume mounting for uploads\ndocker run -p 8080:8080 -v $(pwd)/uploads:/app/uploads prescripto:latest\n\n# Push to Docker Hub (production workflow)\ndocker tag prescripto:latest username/prescripto:latest\ndocker push username/prescripto:latest\n```\n\n## � API Architecture \u0026 Endpoints\n\n### **Security Implementation**\n- **🔐 JWT Authentication**: Stateless token-based security\n- **🛡️ Role-Based Access**: Patient, Doctor, Admin authorization levels\n- **🔒 BCrypt Encryption**: Secure password hashing\n- **🌐 CORS Configuration**: Cross-origin request security\n\n### **Core API Endpoints**\n\n#### **Public Access** (No Authentication)\n```http\nGET    /v1/                    # Health check \u0026 welcome\nPOST   /v1/panel/login         # Admin/Doctor authentication\nGET    /actuator/health        # Application monitoring endpoint\n```\n\n#### **Patient Operations** (JWT Required)\n```http\nPOST   /patient/create-account      # User registration\nPOST   /patient/login               # Patient authentication  \nGET    /patient/me                  # Profile retrieval\nPOST   /patient/book-appointment    # Appointment booking\nPOST   /patient/upload-patient-image # Profile image upload\n```\n\n#### **Admin Operations** (Admin JWT Required)\n```http\nPOST   /admin/create-doctor         # Doctor onboarding with image upload\nGET    /admin/dashboard             # Administrative overview\n```\n\n#### **Payment Processing** (JWT Required)\n```http\nPOST   /api/payment/create-order    # Razorpay order creation\nPOST   /api/payment/verify          # Payment verification \u0026 completion\n```\n\n## � Database Design \u0026 Cloud Integration\n\n### **Production Database Architecture**\n- **🌐 Railway Cloud MySQL**: Hosted database with environment-based connectivity\n- **🔄 Auto-Schema Management**: Hibernate DDL auto-updates for seamless deployments\n- **📊 Entity Relationships**: JPA-mapped associations between core healthcare entities\n- **🔍 Query Optimization**: MySQL 8 dialect with performance tuning\n\n### **Core Data Models**\n| **Entity** | **Purpose** | **Key Features** |\n|------------|-------------|------------------|\n| `Admin` | System administration | BCrypt authentication, role management |\n| `Patient/PatientInfo` | User management | Split model for auth vs. profile data |\n| `Doctor` | Healthcare providers | Specialization tracking, image uploads |\n| `Appointment` | Service bookings | Patient-doctor relationships, payment integration |\n| `PaymentInfo` | Transaction records | Razorpay integration, payment verification |\n\n## 🔧 Production Configuration Management\n\n### **Environment-Based Security**\n```bash\n# Production Environment Variables (Render.com)\nDATABASE_URL=mysql://railway-cloud-connection\nRAZORPAY_KEY_ID=rzp_live_production_key\nRAZORPAY_KEY_SECRET=production_secret_key\nJWT_SECRET=64-character-production-secret\nADMIN_EMAIL=production-admin@domain.com\n```\n\n### **Cloud Configuration Features**\n- ✅ **Secure credential management** via environment variables\n- ✅ **Database connection pooling** for high-availability\n- ✅ **File upload security** with multipart validation\n- ✅ **CORS configuration** for frontend integration\n- ✅ **Actuator endpoints** for monitoring and health checks\n\n## 📊 Project Impact \u0026 Professional Value\n\n### **Technical Leadership Demonstrated**\n- 🎯 **Full-Stack Ownership**: End-to-end development from database design to cloud deployment\n- 🏗️ **Architecture Design**: Scalable, maintainable code structure following enterprise patterns  \n- 🔐 **Security Implementation**: Production-grade authentication and authorization systems\n- ☁️ **DevOps Integration**: Modern deployment workflows with containerization\n\n### **Production-Ready Implementation**\n- ✅ **Monitoring \u0026 Observability**: Health checks, metrics, and uptime monitoring\n- ✅ **Payment Processing**: Secure financial transactions with signature verification\n- ✅ **File Management**: Secure upload/download with proper validation\n- ✅ **Database Optimization**: Connection pooling, query optimization, and cloud hosting\n\n## 🎯 Resume-Ready Accomplishments\n\n**\"Developed and deployed a cloud-ready Spring Boot healthcare management system demonstrating:**\n- **Backend Development**: RESTful APIs with JWT authentication and role-based access control\n- **Cloud Deployment**: Dockerized application deployed to Render.com with Railway database integration  \n- **Payment Integration**: Secure Razorpay payment processing with transaction verification\n- **DevOps Practices**: Container workflows, environment management, and production monitoring\"\n\n## � Live Demo \u0026 Resources\n\n### **Production Links**\n- 🌐 **Live Application**: [Deployed on Render.com](https://prescripto-backend.onrender.com/v1/)\n- 💾 **Docker Image**: Available on Docker Hub  \n- 📊 **Monitoring**: UptimeRobot health checks configured\n- 🗄️ **Database**: Railway cloud MySQL hosting\n\n### **Test Credentials**\n- **Admin Login**: `admin@gmail.com` / `admin123`\n- **Payment Testing**: Razorpay test mode enabled\n- **Health Check**: `/actuator/health` endpoint active\n\n## 👨‍💻 Developer Profile\n\n**Himadri Karan**  \n*Backend Developer \u0026 Cloud Solutions Specialist*\n\n- 📧 **Email**: [Karanhimadri1234@gmail.com](mailto:Karanhimadri1234@gmail.com)\n- 💼 **LinkedIn**: [linkedin.com/in/himadrikaran](https://linkedin.com/in/himadrikaran)  \n- 🌐 **Portfolio**: [Himadri.me](https://himadri.me)\n- � **GitHub**: [github.com/karanhimadri](https://github.com/karanhimadri)\n\n---\n\n## 🌟 Why This Project Matters\n\nThis project showcases the complete software development lifecycle that employers value:\n- **Problem Solving**: Built a complex healthcare domain application\n- **Modern Architecture**: Used current industry-standard frameworks and patterns  \n- **Production Deployment**: Handled real-world deployment challenges and solutions\n- **Security Focus**: Implemented enterprise-level authentication and data protection\n- **DevOps Integration**: Demonstrated modern development and deployment practices\n\n---\n\n⭐ **Star this repository to see more enterprise-level projects!**\n\n📧 **Interested in collaboration?** Let's connect and build something amazing together.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaranhimadri%2Fprescripto-backend-springboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaranhimadri%2Fprescripto-backend-springboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaranhimadri%2Fprescripto-backend-springboot/lists"}