Skip to content

shubam3/AWSQueue

Repository files navigation

AWSQueue — Intelligent Virtual Queuing System

Project Overview AWSQueue is an intelligent virtual queuing system designed for any business or organization that manages customer queues. It enables customers to book, monitor, and manage appointments without waiting in physical lines, using real-time queue optimization, analytics, and notifications.

Features

  • User Authentication: JWT-based secure authentication system
  • Smart Booking System: Intelligent slot allocation with queue optimization
  • Admin Dashboard: Comprehensive management interface for administrators
  • Real-time Notifications: SMS/Email alerts for appointments and updates
  • Live Wait-Time Prediction: ML-powered wait time estimation
  • Cloud Analytics: Traffic analysis and performance metrics
  • Document Management: Secure file upload and storage

Tech Stack

Backend

  • Java Spring Boot: REST APIs, service logic, user management
  • Spring Security: Role-based access control and JWT authentication
  • Spring Data JPA: Database operations and entity management
  • PostgreSQL: Primary database for data persistence

Frontend

  • React 18: Modern UI framework with TypeScript
  • Tailwind CSS: Utility-first CSS framework
  • React Router: Client-side routing
  • React Query: Server state management
  • React Hook Form: Form handling and validation

AWS Services

  • EC2/ECS: Application hosting and containerization
  • RDS: Managed PostgreSQL database
  • S3: Document and file storage
  • SNS/SES: Notification services (SMS/Email)
  • CloudWatch: Logging and monitoring
  • API Gateway: API management and rate limiting

DevOps & Tools

  • Docker: Containerization
  • Terraform: Infrastructure as Code
  • GitHub Actions: CI/CD pipeline
  • Swagger/OpenAPI: API documentation
  • Postman: API testing

Project Structure

smartqueue/
├── backend/                 # Spring Boot application
├── frontend/                # React frontend application
├── infrastructure/          # AWS infrastructure code
├── database/               # Database schemas and migrations
├── postman/                # API testing collections
├── .github/workflows/      # CI/CD pipelines
└── docs/                   # Documentation

Quick Start

Prerequisites

  • Java 17+
  • Maven 3.8+
  • Node.js 18+ and npm
  • Docker & Docker Compose
  • AWS CLI configured
  • PostgreSQL 14+

Local Development Setup

  1. Clone the repository
    git clone https://github.com/shubam3/awsqueue.git

cd awsqueue


2. **Set up environment variables**
```bash
cp env.example .env
# Edit .env with your configuration
  1. Start local services

    docker-compose up -d
  2. Run the backend application

    cd backend
    ./mvnw spring-boot:run
  3. Run the frontend application (in a new terminal)

    cd frontend
    npm install
    npm start
  4. Access the application

📚 API Documentation

🧪 Testing

Run Tests

# Backend tests
cd backend
./mvnw test

# Frontend tests
cd frontend
npm test

API Testing with Postman

Import the Postman collection from postman/awsqueue-api.postman_collection.json

Deployment

AWS Deployment

cd infrastructure/terraform
terraform init
terraform plan
terraform apply

Docker Deployment

docker-compose -f docker-compose.prod.yml up -d

Monitoring

  • CloudWatch Dashboard: Real-time application metrics
  • Application Logs: Centralized logging with CloudWatch
  • Performance Metrics: Response times, error rates, and throughput

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Why AWSQueue Stands Out

  • Real-world Problem Solving: Addresses actual customer experience issues at scale
  • Scalable Architecture: Cloud-native design that can handle enterprise-level traffic
  • Modern Tech Stack: Demonstrates proficiency with current industry standards
  • DevOps Integration: Complete CI/CD pipeline with infrastructure as code
  • Comprehensive Testing: Unit, integration, and API testing coverage
  • Production Ready: Monitoring, logging, and security best practices

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published