AnimalCare

Animal Shelter Management System - Built with Modern Web Technologies

Java 23 Spring Boot React 19 TypeScript MySQL DDD
View on GitHub

Project Overview

AnimalCare is a comprehensive web application that digitizes daily operations of animal shelters and optimizes adoption processes. Built using modern software development principles and cutting-edge technologies, it aims to provide technological solutions for animal welfare.

Key Features

Animal Management

Registration, editing, deletion, and detailed tracking of animals in the shelter. Management of information such as age, breed, and health status.

Adoption Process

Management of adoption applications, contract creation, and status tracking with optimized processes.

User Management

Secure and organized user management with role-based access control (Admin, Staff, Adopter).

System Architecture

Frontend

React 19 + TypeScript
Modern UI/UX
Responsive Design

Backend

Spring Boot 3.5.4
RESTful API
DDD Architecture

Database

MySQL 8.0
JPA/Hibernate
Data Persistence

Technical Implementation

Architectural Approach

The project is developed using Domain-Driven Design (DDD) principles with Hexagonal Architecture (Ports & Adapters):

Clean Architecture Layers:
• Presentation Layer
• Application Layer
• Domain Layer
• Infrastructure Layer

Security and Authorization

The system operates on Role-Based Access Control (RBAC) principle:

User Roles:
• Admin: Full system access
• Staff: Animal management
• Adopter: Application submission

Detailed Features

Completed Features

  • Animal CRUD operations
  • Adoption contract management
  • User authentication system
  • Role-based access control
  • Dashboard and statistics
  • Responsive UI design

Technology Stack

  • Backend: Java 23, Spring Boot 3.5.4
  • Database: MySQL 8.0
  • Frontend: React 19, TypeScript
  • Architecture: DDD, Hexagonal
  • Build: Maven, npm
  • Test: JUnit, React Testing Library

API Endpoints

Animal Management

GET    /api/animals          # Get all animals
GET    /api/animals/{id}      # Get animal by ID
POST   /api/animals          # Create new animal
PUT    /api/animals/{id}     # Update animal
DELETE /api/animals/{id}     # Delete animal
GET    /api/animals/type/{type} # Get animals by type

Adoption

GET    /api/adoption/contracts     # Get all contracts
POST   /api/adoption/contracts     # Create new contract
PUT    /api/adoption/contracts/{id}/status # Update status
GET    /api/adoption/adopters      # Get all adopters
POST   /api/adoption/adopters      # Create new adopter

Application Screenshots

Explore the user interface and features of AnimalCare through these screenshots

Home Page
Home Dashboard

Main dashboard with statistics and quick access

Login Page
Login Page

Secure authentication interface

Animals Page
Animals Management

Comprehensive animal listing and management

Add Animal Page
Add New Animal

Form for registering new animals

Adoptions Page
Adoption Management

Track and manage adoption processes

Treatments Page
Health Tracking

Medical treatments and health records

Reports Page
Reports & Analytics

Comprehensive reporting and data analysis

Application Demo

Watch a comprehensive demo of AnimalCare in action

This demo showcases the complete user experience, from login to advanced features

Explore the Project

This project aims to contribute to the digital transformation of animal shelters and provide technological solutions for animal welfare using modern software development methodologies.

View on GitHub Back to Projects