Skip to content

longlt201203/zoomanagement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zoo Management

Table of Contents

Introduction

This is a simple Spring Boot application that serves as a template for creating web applications. It includes basic configuration and project structure to help you get started quickly.

Prerequisites

Before you begin, ensure you have met the following requirements:

  • Java Development Kit (JDK) 8 or higher installed (JDK 17 is recommended).
  • Apache Maven installed (if you prefer to use Maven for building and managing dependencies).

Getting Started

Follow these steps to get your Spring Boot application up and running:

  1. Clone this repository to your local machine
  2. Open it with your favourite IDE
  3. Edit the application.properties (add/update some missing variables)
swp.zoomanagement.gcp.client-id=hello
jwt.secret=world
  1. Build & Run the application via IDE or manually by Maven

Deployment

Feel free to customize our Dockerfile

FROM openjdk:17-alpine
WORKDIR /app
COPY ./out/artifacts/ZooManagement_jar .
EXPOSE 8080
CMD ["java", "-jar", "ZooManagement.jar"]

Build Docker container

docker build -t <registry>/<image-name>:<tag> .

Run the container

docker run -dp 8080:8080 <your-image>

Project Structure

  • com.swp.ZooManagement - The main package for the Zoo Management application
    • apis - This package contains RESTful API endpoints and controllers for managing the zoo's operations.
    • core - The core package holds the essential business logic and domain objects of the application
    • errors - This package is responsible for handling error and custom exceptions. It contains classes for defining and managing application-specific error responses.
    • security - The security package is used for implementing authentication and authorization mechanisms to secure the application. It includes classes for user authentication, role-based access control, and security configurations.
    • utils - The utils package contains utility classes and helper methods used throughout the application.
    • ZooManagementApplication.java - The main class of the application.

Dependencies

  1. This project includes the following dependencies:
  2. Spring Boot Data JPA for database access
  3. Spring Boot Security for authentication and authorization
  4. Spring Boot Web for building web applications
  5. Microsoft SQL Server JDBC driver for database connectivity
  6. Project Lombok for reducing boilerplate code (optional)
  7. Spring Boot Test for testing the application
  8. Spring Security Test for security testing (test)
  9. Jakarta Validation API for validation
  10. Spring Boot Starter Validation for validation
  11. Google API Client for working with Google APIs
  12. Auth0 Java JWT for handling JSON Web Tokens (JWT)

Additional

Application Architecture

Deployment Structure Design

Back-end Structure Design

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published