Skip to content

SaaS Spring Boot application with MyBatis Plus framework, and the use of JWT Authentication for the APIs

License

Notifications You must be signed in to change notification settings

ChrisioGwaan/wenxige-bg

Issues project_license

SpringJavaMySQLFlaskPython


Tea Logo

Guangzhou Wenxige Trading Co., Ltd. Admin Management System

广州文熙阁贸易有限公司管理系统

This is the backend service for Guangzhou Wenxige Trading Co., Ltd. Admin Management System. Previously, we chose to use Spring Boot as the backend framework for this project. However, we have since shifted our focus to a more lightweight solution using Flask. This decision was made to enhance the performance and efficiency of our application.

Report Bug · Request Feature

Table of Contents
  1. 🚨 Security Alert
  2. About The Project
  3. Getting Started
  4. Project Structure (Flask)
  5. Project Structure (Spring Boot)
  6. Database Design
  7. Roadmap
  8. Contributing
  9. License
  10. Contact

🚨 Security Alert

IMPORTANT SECURITY NOTICE: A phishing attempt has been detected in this repository (Issue #18). DO NOT click on any suspicious links requesting GitHub token verification or OAuth permissions. For security reporting, please see our Security Policy.

About The Project

This is the backend service for Guangzhou Wenxige Trading Co., Ltd. Admin Management System. We will continue to develop the system using Spring Boot for scalability and performance.

(📍back to top)

Built With

  • Spring
  • Java
  • MySQL
  • Flask
  • Python

(📍back to top)

Getting Started

Prerequisites

  • Python 3.8 or higher
  • Git
  • Java 21
  • Maven 3.8 or higher
  • Postman (Optional, for testing APIs)
  • DbVisualizer (Optional, for database management)

Installation

Flask

  1. Clone the repo
    git clone https://github.com/ChrisioGwaan/wenxige-bg.git
  2. Direct to the project directory
    cd wenxige-bg/flask-bg
  3. Create a virtual environment (If you have done it already, you can skip this step next time)
    python -m venv venv
  4. Activate the virtual environment
    # For Windows
    venv\Scripts\activate
    # For macOS/Linux
    source venv/bin/activate
  5. Install dependencies
     pip install -r requirements.txt
  6. Run the application
    python run.py

Spring Boot

  1. Clone the repo

    git clone https://github.com/ChrisioGwaan/wenxige-bg.git
  2. Open the project in your IDE (e.g., IntelliJ IDEA, Eclipse).

  3. Wait for the IDE to download the required dependencies.

(📍back to top)

Project Structure (Flask)

wenxige-bg
├── .env.example                    - Environment variables example, please rename it to .env and fill in the values
├── .gitignore                      - Git ignore file
├── README.md                       - This file
├── app                             - Main application directory
│   ├── __init__.py                 - Application initialization
│   ├── config.py                   - Configuration settings
│   ├── controllers                 - Contains all controllers for the application
│   │   ├── __init__.py             - Controller initialization
│   │   ├── main_controller.py      - Main controller for the application
│   │   ├── routes.py               - Routes for the application
│   │   └── sys_user_controller.py  - User controller for the application
│   ├── enums.py                    - Enumeration definitions
│   ├── extensions.py               - Extensions for Flask
│   ├── http_status.py              - HTTP status codes
│   ├── models                      - Contains all data models
│   │   ├── __init__.py             - Model initialization
│   │   └── sys_user.py             - User model definitions
│   ├── schemas                     - Contains all data schemas
│   │   ├── __init__.py             - Schema initialization
│   │   └── sys_user_schema.py      - User schema definitions
│   ├── services                    - Contains all service logic
│   │   ├── __init__.py             - Service initialization
│   │   └── sys_user_service.py     - User service logic
│   └── utils                       - Contains utility functions
│       ├── __init__.py             - Utility initialization
│       └── response_utils.py       - Response utility functions
├── requirements.txt                - Python dependencies
├── run.py                          - Entry point for the application
├── tests                           - Contains all test cases
│   ├── __init__.py                 - Test initialization
│   └── test_users.py               - User test cases
└── vercel.json                     - Vercel configuration file

Project Structure (Spring Boot)

E:\repo2\wenxige-bg
├── db
│   └── schema.sql                        - Database schema file
├── pom.xml                               - Maven configuration file
└── wenxige-bg-service
    ├── src/main/java/com/wenxige/bg
    │   ├── WenxigeBgApplication.java     - Main application entry point
    │   ├── config                        - Configuration directory
    │   ├── controller                    - Contains all controllers for the application
    │   ├── dto                           - Data Transfer Objects
    │   ├── entity                        - Contains all data models
    │   ├── enums                         - Enumeration definitions
    │   ├── jwt                           - JWT authentication
    │   ├── mapper                        - MyBatis mapper interfaces
    │   ├── service                       - Contains all service logic
    │   ├── util                          - Contains utility functions
    │   └── vo                            - View Objects
    └── resources
        ├── application.yml               - Application configuration file
        ├── log4j.properties              - Logging configuration file
        ├── mapper                        - MyBatis XML mapper files
        └── templates                     - Thymeleaf templates

(📍back to top)

Database Design

Database Design

(📍back to top)

Roadmap

  • Please check #10 for the roadmap of the project.

See the open issues for a full list of proposed features (and known issues).

(📍back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. Please check Code of Conduct for more information.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(📍back to top)

Top contributors:

contrib.rocks image

License

Distributed under the project_license. See LICENSE for more information.

(📍back to top)

Contact

Weixi (Chrisio) Guan - Portfolio - chris322322@gmail.com


Project Link: https://github.com/ChrisioGwaan/wenxige-bg

(📍back to top)

About

SaaS Spring Boot application with MyBatis Plus framework, and the use of JWT Authentication for the APIs

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages