Skip to content

Developed a secure and scalable backend with real-time encrypted chat, geofencing-based attendance, leave and task management, and meeting scheduling via Google Calendar. Used JWT, Google OAuth 2.0 for auth, and Supabase for file storage.

Notifications You must be signed in to change notification settings

HR-Task-Management-App/SmartHR-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartHR Backend

A comprehensive Employee Management System backend built with Java, Spring Boot, and MongoDB, designed to streamline HR operations such as attendance, leave management, real-time chat, meetings, and task scheduling. This backend exposes secure RESTful APIs and WebSocket endpoints to support a feature-rich HRMS frontend.


🚀 Core Features

  • User Authentication

    • Google OAuth 2.0
    • Email/Password login
    • JWT-based secured endpoints
  • Real-Time Chat System

    • WebSocket + STOMP-based 1-to-1 messaging
    • Encrypted messages (supports text and images)
  • Attendance Management

    • Geofencing-based check-in/out
    • Role-based view for HR and employee
    • Daily, date-wise, and user-wise queries
  • Leave Management

    • Apply, approve, reject, and cancel leave
    • Tracks leave status and history
    • Admin and employee-level access
  • Meeting Scheduler

    • Create meetings with participant lists
    • Google Calendar API integration
    • Automatic scheduling and syncing
  • Task Management

    • Create, assign, update tasks
    • Upload attachments with tasks
    • HR can manage all employees' tasks
  • Role-Based Access

    • Admin, HR, and Employee roles
    • Controlled API access by user type
  • File Storage

    • Supabase integration for media storage
    • Securely stores chat images and task files

🧰 Tech Stack

Layer Technology
Language Java
Framework Spring Boot
Database MongoDB
Messaging WebSocket + STOMP
Auth & Secure JWT, Google OAuth 2.0, Spring Security
File Storage Supabase
Calendar Sync Google Calendar API
API Client Postman Collection (REST & WebSocket)

🔐 Security & Auth

  • JWT-based auth for all secured routes
  • OAuth 2.0 via Google for seamless login
  • Passwords hashed securely (backend-handled)
  • Role-based API access: Admin | HR | Employee

📦 Integrations

  • Google OAuth 2.0 — Auth login
  • Google Calendar API — Meeting creation & syncing
  • Supabase — File storage for images, attachments
  • MongoDB Atlas — Cloud-hosted NoSQL database

🏗️ Architecture Notes

  • Modular Spring Boot project structure
  • DTOs for clean request/response contracts
  • Services & Repositories follow separation of concerns
  • WebSocket config is centralized and secured

👨‍💻 Contributing

If you’d like to contribute, fix bugs, or expand this project, feel free to open issues or pull requests!


📎 Repository

GitHub Repo

About

Developed a secure and scalable backend with real-time encrypted chat, geofencing-based attendance, leave and task management, and meeting scheduling via Google Calendar. Used JWT, Google OAuth 2.0 for auth, and Supabase for file storage.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published