Hệ thống quản lý thông tin nhận nuôi động vật nhỏ - Backend SpringBoot + Frontend Mini Program WeChat + MySQL

Tổng quan

Với tốc độ đô thị hóa ngày càng nhanh, số lượng động vật vô chủ tăng lên đáng kể, trong khi các phương thức cứu trợ truyền thống dần bộc lộ hạn chế. Dù nhu cầu bảo vệ phúc lợi động vật ngày càng được quan tâm, việc phân tán thông tin và quy trình nhận nuôi phức tạp vẫn là rào cản lớn đối với hiệu quả cứu trợ. Một hệ thống quản lý thông tin cứu trợ và nhận nuôi động vật nhỏ hiệu quả, tiện lợi là nhu cầu cấp thiết hiện nay. Hệ thống này nhằm mục đích kết nối các tổ chức cứu trợ, tình nguyện viên và người có nhu cầu nhận nuôi, giúp chia sẻ thông tin và tối ưu quy trình, từ đó thúc đẩy hoạt động cứu trợ trở nên chuyên nghiệp và phổ biến hơn.

Từ khóa: Cứu trợ động vật, Quản lý thông tin nhận nuôi, Tối ưu tài nguyên, Dịch vụ cộng đồng

Kiến trúc hệ thống

Hệ thống sử dụng SpringBoot để xây dựng backend, tích hợp Mini Program WeChat cho giao diện di động, và cơ sở dữ liệu MySQL đảm bảo tính ổn định cũng như an toàn của dữ liệu. Các chức năng chính bao gồm đăng tải thông tin cứu trợ, xét duyệt hồ sơ nhận nuôi, quản lý quyền người dùng và phân tích dữ liệu, hỗ trợ đa vai trò thao tác đồng thời. Mini Program cung cấp các tính năng như thông báo tức thì, dẫn đường bản đồ và tư vấn trực tuyến nhằm nâng cao trải nghiệm người dùng. Thiết kế tuân thủ nguyên tắc mô-đun hóa, dễ mở rộng và sẵn sàng triển khai ngay lập tức.

Từ khóa: SpringBoot, Mini Program WeChat, MySQL, Thiết kế mô-đun, Giao tiếp thời gian thực

Mô hình cơ sở dữ liệu

Bảng lưu thông tin động vật được cứu trợ (rescue_animal_info)

Ghi lại các thông tin cơ bản về động vật đã được cứu trợ, thời gian tạo tự động sinh ra, khóa chính là ID tự tăng. Lưu trữ đặc điểm, tình trạng sức khỏe và vị trí tìm thấy.

Trường Kiểu dữ liệu Mô tả
animal_id INT Khóa chính, định danh duy nhất của động vật
rescue_time DATETIME Thời điểm cứu trợ (tự động tạo)
animal_type VARCHAR(20) Loài động vật (mèo/chó...)
health_status VARCHAR(50) Mô tả tình trạng sức khỏe
location_found VARCHAR(100) Tọa độ nơi phát hiện
is_adopted BOOLEAN Đã được nhận nuôi hay chưa
Bảng quản lý người dùng (user_profile)

Lưu trữ thông tin đăng ký và phân quyền người dùng, khóa chính là OpenID từ nền tảng WeChat, hỗ trợ xác thực qua hệ thống mở.

Trường Kiểu dữ liệu Mô tả
user_id VARCHAR(32) Khóa chính, OpenID từ WeChat
nickname VARCHAR(50) Tên hiển thị
role_type TINYINT Vai trò (0-Người nhận nuôi / 1-Tình nguyện viên cứu trợ)
contact_phone VARCHAR(15) Số điện thoại liên hệ
register_time DATETIME Thời điểm đăng ký (tự động tạo)
Bảng lưu đơn xin nhận nuôi (adoption_apply)

Lưu chi tiết hồ sơ nhận nuôi, trạng thái xét duyệt và dấu thời gian cập nhật, khóa chính là mã đơn UUID.

Trường Kiểu dữ liệu Mô tả
apply_id VARCHAR(36) Khóa chính, mã đơn UUID
animal_id INT ID động vật liên quan
applicant_id VARCHAR(32) OpenID người nộp đơn
apply_reason TEXT Lý do muốn nhận nuôi
audit_status TINYINT Trạng thái xét duyệt (0-Chờ xử lý / 1-Duyệt)
audit_time DATETIME Thời điểm xét duyệt (tự động cập nhật)

Công nghệ sử dụng

  • Backend: Spring Boot – Framework mạnh mẽ cho ứng dụng Java doanh nghiệp, áp dụng triết lý "cấu hình theo quy ước", giảm thiểu cấu hình thủ công. Hỗ trợ nhúng server, triển khai dưới dạng JAR độc lập và tích hợp sẵn các tính năng giám sát.
  • Frontend: Vue.js – Framework frontend linh hoạt với hệ sinh thái phong phú, hỗ trợ phát triển SPA hiệu quả nhờ kiến trúc hướng thành phần và luồng dữ liệu phản hồi.

Mã nguồn mẫu

package com.app;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
@MapperScan(basePackages = {"com.dao"})
public class AnimalRescueApp extends SpringBootServletInitializer {

	public static void main(String[] args) {
		SpringApplication.run(AnimalRescueApp.class, args);
	}

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(AnimalRescueApp.class);
	}
}
package com.controller;

import com.entity.UserEntity;
import com.service.UserService;
import com.utils.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.util.Date;

@RestController
@RequestMapping("/api/user")
public class UserController {

    @Autowired
    private UserService userService;

    @PostMapping("/login")
    public R login(@RequestParam String account, @RequestParam String password) {
        UserEntity user = userService.findByAccount(account);
        if (user == null || !user.getPassword().equals(password)) {
            return R.error("Tài khoản hoặc mật khẩu không đúng");
        }
        String token = generateToken(user.getId(), account);
        return R.ok().put("token", token);
    }

    @PostMapping("/register")
    public R register(@RequestBody UserEntity user) {
        if (userService.existsByAccount(user.getAccount())) {
            return R.error("Tài khoản đã tồn tại");
        }
        user.setId(new Date().getTime());
        userService.save(user);
        return R.ok();
    }

    private String generateToken(Long userId, String account) {
        // Triển khai logic tạo token ở đây
        return "sample_token";
    }
}

Thẻ: SpringBoot WeChat Mini Program mysql Vue.js Quản lý động vật

Đăng vào ngày 11 tháng 10 lúc 05:52