Skip to content

SUSTech-24S-CS307-Project2: Subway Management System Database. Score: 97/105

License

Notifications You must be signed in to change notification settings

ShellyLeee/CS307-24S-Project2

Repository files navigation

CS307-24S-Project2

南方科技大学 2024 Spring CS307 数据库原理 Project2

得分 97/105

Project 说明及要求:https://github.com/ShellyLeee/CS307-24S-Project2/blob/main/project2_intro.pdf

项目情况

  1. 项目简介:

    基本要求:在project1的基础上,建立一个后端API Library来执行各种数据增删改查操作,并建立前端界面实现用户与后端数据库的交互操作。

    具体实现:我们开发了一个前后端分离的深圳地铁管理系统,允许用户在前端网页上执行操作,发送HTTP请求到后端地铁信息数据库进行数据的增删改查操作,并将结果返回到前端。 我们采用了Springboot Gradle后端框架,并添加了 MyBatisThymeleafJDBCJPA 的依赖。

    本项目使用了 JAVA、HTML 和 SQL 语言,使用的数据库是PostgreSQL

  2. 项目结构(仅摘选主要部分)

    运行时,在配置好build.gradleapplication.properties 等环境后,运行Cs30724SpringProject2Application.java 即可。注意要根据自己主机的配置来调整设置。

    .
    └── CS307-24Spring-Project2
        ├── build.gradle
        ├── settings.gradle
        └── src
            ├── main
            │   ├── java
            │   │   └── cs307
            │   │       └── cs30724springproject2
            │   │           ├── Cs30724SpringProject2Application.java
            │   │           ├── controller
            │   │           ├── entity
            │   │           ├── mapper
            │   │           └── service
            │   └── resources
            │       ├── application.properties
            │       ├── mapper (XML files)
            │       └── templates (HTML files)
            └── test
                └── java
                    └── cs307
                        └── cs30724springproject2
                            └── Cs30724SpringProject2ApplicationTests.java
    
  3. 实现功能

    • 基础任务

      • API Specification

        • Task1 Add, modify, delete a station
        • Task2 Add, modify, delete a new line
        • Task3 Place and remove stations at a specified location on a line
        • Task4 Search the name of the station that is the n-th station ahead/behind a specific station on a line
        • Task5 Boarding functionality for a passenger or card
        • Task6 Exit functionality for a passenger or card
        • Task7 View all information about passengers or cards who have boarded but have not yet exited at the current time
      • Functional Requirements:

        • Web Interface Building
        • Preparing testing data: import data in price.xlsx and all data from project 1.
    • 高级任务

      • Task2 Further enhance the usability of the APIs

        • (2) Business carriage in the subway
        • (3) Add and appropriately utilize the condition of stations
        • (4) Establish a system to integrate buses and subways
        • (5) Implement a multi-parameter search for ride records
      • Task3 Implement a real back-end server, with the technology of package management, using HTTP/RESTful Web, connection pools and implementing backend frameworks with ORM mapping

      • Task4 Elegant and useful page display design

      • Task5 Appropriately utilize index and view

      • Task7 Support high-concurrency with proper pressure tests

  4. 可以改进的部分

    • 由于时间关系没能做完高级部分的所有任务,所以原Project高级部分的所有未完成任务都可以继续完成(如Task1、2、5、6)
    • 部分高级任务的实现有待改进(如Task5)
    • 可以考虑增加功能与提升操作效率:还需要学习Springboot提供的各种功能(如数据库连接池、用户登录功能)

项目报告

https://github.com/ShellyLeee/CS307-24S-Project2/blob/main/Project2%20Report.pdf

About

SUSTech-24S-CS307-Project2: Subway Management System Database. Score: 97/105

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published