Vaxify is a comprehensive web-based platform designed to streamline the vaccine management and appointment booking process. It serves as a centralized hub for hospitals to manage their vaccine stock and for users to book vaccination slots seamlessly.
- User Registration & Authentication: Secure sign-up and login functionality.
- Center Search: Browse and search for vaccination centers.
- Slot Booking: View available time slots and book appointments.
- Appointment Management: View booking status/history and cancel appointments.
- Registration: Request hospital registration for admin approval.
- Dashboard: Overview of daily appointments and stock.
- Hospital Profile: Manage and update hospital details.
- Vaccine Management: Add, update, and delete vaccine stocks.
- Low Stock Alerts: Automated email alerts to notify staff when vaccine inventory is running low (below 40% and 20%).
- Appointment Operations: View hospital appointments and mark them as completed.
- Dashboard: View system-wide statistics.
- Hospital Management:
- View all registered and pending hospitals.
- Approve or reject hospital registration requests.
- Delete hospital records.
- User Management:
- View list of all registered users.
- Delete users if necessary.
- Role-Based Access Control: Secure endpoints for Admins, Users, and specialized roles.
- Email Notifications: Automated confirmations for bookings.
- Structured Logging & Monitoring: Centralized logging with Grafana Loki.
- CI/CD Pipeline: Automated building and deployment via GitHub Actions.
- Responsive Design: Optimized for both desktop and mobile devices.
- Framework: React.js
- Language: TypeScript
- Styling: Tailwind CSS, ShadCN UI, Framer Motion
- Deployment: Vercel
- Framework: Java Spring Boot
- Build Tool: Maven
- Database: MySQL (AWS RDS)
- File Storage: AWS S3
- Security: Spring Security + JWT
- Containerization: Docker
- Reverse Proxy: Traefik
- Cloud Provider: AWS EC2
- DNS & CDN: Cloudflare
- CI/CD: GitHub Actions
- Logging & Monitoring: Grafana Loki
- Node.js (v18+)
- Java JDK 17+
- Maven
- Docker & Docker Compose
git clone https://github.com/Abhish7k/vaxify-mono.git
cd vaxify-monoCreate a .env file in the root directory and configure the following variables (refer to .env.example):
DB_HOST=your_db_host
DB_PORT=3306
DB_NAME=your_db_name
DB_USERNAME=your_db_user
DB_PASSWORD=your_db_password
JWT_SECRET=your_jwt_secret
...This will start the backend and Traefik proxy.
docker-compose up --build -dcd frontend
npm install
npm run devcd backend
./mvnw spring-boot:run| Name | Role / Contribution | GitHub |
|---|---|---|
| Abhishek | Frontend & DevOps | @abhish7k |
| Indu | Backend & Database | @indu61 |
| Rahul | Frontend & UI | @rahulkhadeeeng |
