내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
SpringBoot 여행 내비게이션 시스템
요약
인터넷의 급속한 발전으로 점점 더 많은 사람들이 인터넷을 통해 여행 정보를 얻고 여행 일정을 계획하고 있습니다. 풍부한 자연경관과 오랜 역사와 문화를 지닌 나라로서 중국은 매년 수많은 관광객들의 주목을 받고 있다. 이 웹사이트의 목표는 관광객에게 정확하고 포괄적인 여행 정보를 제공하고 편리한 길 안내 및 경로 계획 서비스를 제공하는 것입니다. 명소 소개, 음식 종류, 숙박 정보 등 다양한 관광 자원을 통합하여 사용자가 필요한 관련 정보를 웹 사이트에서 얻을 수 있습니다.
이 프로젝트는 Spring Boot 프레임워크를 백엔드 개발 도구로 사용하며 간단하고 효율적이며 안정적인 웹 애플리케이션을 빠르게 구축할 수 있습니다. Java를 기본 프로그래밍 언어로 사용하면 시스템의 안정성과 확장성이 보장됩니다. 백엔드 데이터베이스로서 MySQL은 사용자 정보, 여행 데이터, 사용자 피드백 등 중요한 데이터를 저장하고 관리하는 데 사용됩니다. MySQL을 사용하면 데이터를 효율적으로 저장하고 검색할 수 있어 사용자에게 좋은 사용자 경험을 제공할 수 있습니다.
본 연구는 관광항법시스템 설계 및 개발의 배경과 의의를 밝히는 것을 목적으로 한다. 본 웹사이트를 개발함으로써 관광객에게 편리한 여행정보 서비스를 제공하고 여행 경험을 향상시키는 것을 목표로 합니다. 동시에 이 프로젝트는 관광 발전을 촉진하고 다른 지역의 관광 내비게이션 시스템 개발에 참고 자료를 제공하는 데에도 도움이 될 것입니다.
핵심 단어: 여행 내비게이션 시스템; MYSQL 데이터베이스
SpringBoot 관광 내비게이션 시스템
추상적인
인터넷의 급속한 발전으로 점점 더 많은 사람들이 인터넷을 통해 여행 정보를 얻고 여행을 계획합니다. 풍부한 자연 경관과 오랜 역사와 문화를 가진 나라로서 중국은 매년 많은 관광객의 주목을 받고 있습니다. 이 웹사이트의 목표는 방문자에게 정확하고 포괄적인 여행 정보를 제공하고 편리한 내비게이션 및 경로 계획 서비스를 제공하는 것입니다. 명소 소개, 음식 유형, 숙박 정보 등 다양한 관광 리소스를 통합하여 사용자는 웹사이트에서 필요한 관련 정보를 얻을 수 있습니다.
이 프로젝트는 간단하고 효율적인 백엔드 개발 도구인 Spring Boot 프레임워크를 사용하여 신뢰할 수 있는 웹 애플리케이션을 빠르게 구축할 수 있습니다. Java를 주요 프로그래밍 언어로 사용하면 시스템의 안정성과 확장성이 보장됩니다. MySQL은 사용자 정보, 여행 데이터, 사용자 피드백과 같은 중요한 데이터를 저장하고 관리하는 백엔드 데이터베이스로 사용됩니다. MySQL을 사용하면 데이터를 효율적으로 저장하고 검색하고 사용자에게 좋은 사용자 경험을 제공할 수 있습니다.
본 연구의 목적은 배경과 의의를 위해 관광 내비게이션 시스템을 설계하고 개발하는 것입니다. 이 웹사이트를 개발함으로써 방문객에게 편리한 관광 정보 서비스를 제공하고 여행 경험을 개선하는 것을 목표로 합니다. 동시에 이 프로젝트는 관광 개발을 촉진하고 다른 지역의 관광 내비게이션 시스템 개발을 위한 참고 자료를 제공하는 데에도 도움이 될 것입니다.
키워드: 여행 내비게이션 시스템, JAVA 언어, SpringBoot 프레임워크, MYSQL 데이터베이스
지난 수십 년 동안 글로벌 관광 산업이 호황을 누리면서 여행 경험에 대한 사람들의 요구도 증가했습니다. 여행 내비게이션 시스템의 연구 배경은 보다 편리하고 효율적인 여행 방법에 대한 사람들의 긴급한 요구로 거슬러 올라갑니다. 전통적인 여행 방법은 지도, 투어 가이드 또는 구두 안내에 의존하는 경우가 많지만 이러한 방법에는 정보가 적시에 업데이트되지 않고, 길을 잃기 쉽고, 언어 의사소통 장벽 등 많은 한계가 있습니다.
기술의 지속적인 발전으로 사람들은 여행 내비게이션 경험을 향상시키기 위해 컴퓨터와 인터넷 기술을 사용하는 방법을 모색하기 시작했습니다. 이러한 수요는 관광 내비게이션 시스템의 연구 개발을 촉진합니다. 초기 여행 내비게이션 시스템은 주로 GPS 기술을 기반으로 위성 위치 확인을 통해 사용자의 위치를 파악하고 경로 계획 및 내비게이션 안내를 제공할 수 있었습니다. 이러한 종류의 시스템은 사람들의 여행 과정을 크게 단순화시켜 목적지를 더 쉽게 찾을 수 있게 하고 시간과 에너지를 절약해줍니다. 그러나 기존의 GPS 내비게이션 시스템은 실시간 교통정보 제공이 불가능하고, 개인별 맞춤 추천이 부족한 등 여전히 몇 가지 문제점을 안고 있습니다. 이러한 문제를 해결하기 위해 연구자들은 여행 내비게이션 시스템에 인공지능 기술을 도입하기 시작했습니다. 차세대 여행 내비게이션 시스템은 빅데이터를 분석하고 머신러닝 알고리즘을 활용해 교통 상황을 보다 정확하게 예측하고, 개인화된 여행 경로를 추천하며, 실시간 주변 서비스 정보를 제공할 수 있습니다.
또한, 모바일 인터넷의 대중화와 함께 스마트폰은 사람들이 여행하는 데 중요한 도구가 되었으며, 이는 여행 내비게이션 시스템 개발에 새로운 기회를 제공하기도 합니다. 최신 여행 내비게이션 앱은 휴대폰에서 내비게이션 서비스를 제공할 수 있을 뿐만 아니라 AR(증강 현실) 기술을 결합하여 사용자에게 보다 직관적이고 생생한 내비게이션 경험을 제공할 수 있습니다. 예를 들어, 사용자는 휴대폰 카메라를 통해 주변 거리 풍경을 보고 최적의 경로를 화면에 표시할 수 있어 내비게이션의 편의성과 실용성이 크게 향상됩니다.
개인 여행자 외에도 여행 내비게이션 시스템도 관광 산업 발전에 중요한 역할을 합니다. 관광 회사는 이러한 시스템을 사용하여 서비스 품질을 향상하고 더 많은 고객을 유치할 수 있습니다. 예를 들어 일부 관광 명소에서는 내비게이션 시스템을 통해 음성 해설 서비스를 제공하여 관광객에게 더욱 풍부한 방문 경험을 제공할 수 있습니다. 여행사는 이 시스템을 사용하여 사용자 선호도를 분석하고 보다 적합한 여행 경로를 추천하며 고객 만족도와 충성도를 높일 수 있습니다.
국내의, 관광 내비게이션 시스템의 연구 및 적용은 어느 정도 주목을 받고 발전해 왔습니다. 명소 소개, 교통 안내, 호텔 예약 등 관광 관련 정보를 통합하고 표시하는 데 많은 연구가 전념하고 있습니다. 이러한 연구는 사용자가 여행지의 특성과 다양한 서비스를 이해할 수 있도록 웹사이트나 애플리케이션을 개발하여 상세한 관광정보를 제공합니다. 편리한 내비게이션 서비스를 제공하기 위해 일부 연구에서는 여행 내비게이션 및 경로 계획 알고리즘 개발에 중점을 두고 있습니다. 이러한 알고리즘은 지리적 위치 데이터와 교통 정보를 기반으로 사용자에게 최적의 여행 경로와 교통 방법을 제공합니다. 사용자 경험을 향상시키기 위해 일부 연구는 사용자 인터페이스 디자인과 개인화된 추천 시스템 개발에 중점을 두고 있습니다. 이러한 시스템은 사용자의 관심과 선호도를 분석하여 사용자에게 개인화된 여행 추천 및 맞춤형 서비스를 제공할 수 있습니다. 인터넷 기술의 발달로 인해 데이터 보안 및 개인 정보 보호는 여행 내비게이션 시스템 연구에서 중요한 문제가 되었습니다. 일부 연구는 사용자의 개인 정보 보안을 보호하기 위해 안전한 데이터 전송 및 저장 메커니즘을 개발하는 데 전념하고 있습니다. 여행 내비게이션 시스템의 품질과 서비스 수준을 향상시키기 위해 일부 연구에서는 사용자 리뷰 및 피드백을 수집하고 분석하는 데 중점을 두고 있습니다. 사용자 리뷰와 의견을 분석하여 적시에 문제를 발견하고 개선하여 더 나은 사용자 경험과 서비스를 제공할 수 있습니다.
외국의 관광 내비게이션 시스템 개발은 상대적으로 성숙했습니다. 해외 연구에서는 머신러닝과 인공지능 기술을 활용해 사용자의 관심과 선호도에 따라 개인화된 여행 추천과 내비게이션 서비스를 제공하는 지능형 내비게이션 및 추천 시스템 개발에 중점을 두고 있습니다. 모바일 기기의 인기로 인해 해외 연구에서는 크로스 플랫폼 애플리케이션 개발과 모바일 기술을 활용하여 여행 내비게이션 서비스를 제공하는 데 중점을 두고 있습니다. 이러한 연구는 실시간 내비게이션, 명소 추천, 대화형 지도 등의 기능을 지원하는 편리한 모바일 애플리케이션을 제공하는 데 전념하고 있습니다. 해외 연구에서는 소셜 미디어와 사용자 생성 콘텐츠를 여행 내비게이션 시스템의 연구 범위에 포함시켰습니다. 연구자들은 소셜 미디어 데이터와 사용자 리뷰를 통합함으로써 사용자에게 보다 포괄적인 여행 정보와 실제 사용자 경험 피드백을 제공할 수 있습니다. 가상현실(VR)과 증강현실(AR) 기술이 발전함에 따라 일부 해외 연구에서는 이를 관광 내비게이션 분야에 적용하는 데 전념하고 있습니다. VR과 AR 기술을 활용해 사용자는 어트랙션과 내비게이션 서비스를 보다 직관적이고 몰입감 있게 경험할 수 있다. 해외 연구에서는 지속 가능한 관광과 환경 보호에 큰 관심을 기울이고 있습니다. 일부 연구에서는 지속 가능한 발전을 촉진하고 자연 환경을 보호하기 위해 지속 가능한 여행 권장 사항과 환경 친화적인 여행 경로 계획을 제공하는 데 전념하고 있습니다.
일반적으로 외국 관광 내비게이션 시스템 연구에는 지능형 내비게이션 및 추천 시스템, 크로스 플랫폼 애플리케이션 및 모바일 기술, 소셜 미디어 및 사용자 생성 콘텐츠, 가상 현실 및 증강 현실 기술, 지속 가능한 관광 및 환경 보호가 포함됩니다. 이러한 연구 결과는 관광객에게 보다 편리하고 개인화되었으며 몰입도 높은 탐색 및 여행 경험을 제공합니다. 본 연구에서는 해외 연구 결과를 활용하고 이를 지역 특성과 결합하여 관광 정보 및 서비스에 대한 관광객의 요구를 충족시키는 포괄적이고 정확하며 사용자 친화적인 관광 내비게이션 시스템을 개발할 것입니다.
이 논문은 초록, 감사의 글, 참고 문헌 외에도 시스템 요구 사항을 분석하고 일반적인 설계 및 구현된 기능을 설명하며 마지막으로 일부 디버깅 기록을 나열하여 계층적으로 구성됩니다. 다음과 같다:
1장에서는 프로젝트의 배경과 본 시스템 개발 현황, 논문의 장 구성을 설명한다.
2장에서는 시스템의 특정 요구 사항을 분석합니다.
3장에서는 기능 설계와 데이터베이스 설계를 다루는 시스템 설계에 대해 설명합니다.
4장에서는 관광 내비게이션 시스템의 각 기능 모듈의 구현을 명확히 하고 이를 그림과 텍스트의 형태로 표현한다.
5장에는 일부 시스템 디버깅 및 테스트 기록이 나열되어 있습니다.
시스템을 개발하기 전에 가장 먼저 해야 할 일은 시스템이 개발할 가치가 없거나 관련 법규를 위반하면 개발된 시스템이 무용지물이 되기 때문에 먼저 시스템 요구사항을 분석해야 합니다. 개발이 가능하고, 그렇다면 사용자의 요구를 구체적으로 분석하고, 시스템의 기능을 분석하고, 시스템의 성능을 분석합니다.
기술의 타당성은 주로 관광 내비게이션 시스템을 개발할 때 사용되는 개발 언어와 데이터베이스가 가능한지 여부를 고려하는 것입니다. 이 시스템은 SpringBoot 프레임워크와 MYSQL 데이터베이스를 사용하여 JAVA를 선택하며, 이러한 기술은 현재 매우 성숙되어 있습니다. 언어는 프로세스 지향뿐만 아니라 객체 지향도 지원하므로 사용 시 더욱 유연해지고 기술 선택에도 문제가 없습니다.
경제성을 고려하는 주요 고려사항은 비용과 편익이다. 개발과정에 사용되는 JAVA, SpringBoot, MYSQL 등은 온라인 검색을 통해 무료로 다운로드할 수 있다. 이익 관점 보세요, 시스템의 완성은 사용자에 대한 지원을 제공하고, 기업의 비용을 절감하며, 관리의 효율성을 향상시킬 수 있으므로 경제적으로 문제가 없습니다.
여행 내비게이션 시스템은 일반 사용자에게 종합적인 여행 정보 조회, 관광지 티켓 구매, 호텔 예약 기능을 제공하는 동시에 관리자가 웹사이트의 다양한 콘텐츠와 기능을 쉽게 관리할 수 있도록 해줍니다. 이러한 기능 설정은 사용자에게 편리한 여행 서비스를 제공하고 여행 산업을 위한 포괄적이고 효율적인 온라인 플랫폼을 구축할 것입니다.
주요 법적 고려 사항은 시스템 개발이 불법인지 여부입니다. 개발된 관광 내비게이션 시스템은 "중화인민공화국 컴퓨터 소프트웨어 보호 규정", "중화인민공화국 저작권법" 및 기타 법률을 엄격히 준수합니다. 시스템의 개발은 기업에 이익을 가져다 줄 수 있으며 불법성이 없으므로 법적으로 가능합니다.
운영 측면에서는 사용자가 사용하기 쉽고 관리자가 관리할 수 있는지 여부가 주요 고려 사항입니다. 개발된 관광 내비게이션 시스템은 컴퓨터 기반이 없는 사용자도 사용할 수 있는지 여부를 고려하여 설계되었습니다. 사용자가 시스템에 들어가면 마지막에 고정 탐색 버튼이 있고 문자를 읽는 한 작업을 완료할 수 있으며 관리자는 추가, 삭제, 수정 및 확인만 하면 됩니다. 운영에도 가능합니다.
일반적으로 개발된 관광 내비게이션 시스템은 타당성 측면에서 문제가 없으며 개발 가치가 있으며, 기타 완성도는 산업 발전에 큰 의미가 있습니다.
일반 사용자를 위한 주요 기능은 다음과 같습니다.
관리자 측:
여행 내비게이션 시스템의 성능 요구사항 분석은 주로 시스템의 보안성(사용자의 개인정보 유출 여부), 신뢰성(사용자가 실제 작동에 따라 정보를 표시할 수 있는지 여부), 성능(작동 여부)을 분석합니다. 원활하다), 확장성은 어떤지(기능을 계속해서 확장할 수 있는지) 등. 자세한 내용은 다음 2.1 표로 표현할 수 있습니다.
표 2.1 여행 내비게이션 시스템의 비기능적 요구 사항 표
안전 | 주로 다음을 가리킨다여행 내비게이션 시스템데이터베이스 설치, 데이터베이스 사용 및 비밀번호 설정은 규정을 준수해야 합니다. |
신뢰할 수 있음 | 신뢰성 수단여행 내비게이션 시스템테스트 후 신뢰성은 90% 이상입니다. |
성능 | 성능이 영향을 받음여행 내비게이션 시스템시장을 선점하기 위한 필요조건이므로 실적이 최고가 되어야 한다. |
확장성 | 예를 들어, 데이터베이스는 시스템의 비기능적 요구 사항을 보장하기 위해 인터페이스 사용과 같은 여러 속성을 예약합니다. |
사용의 용이성 | 사용자는 팔로우만 하면 됩니다여행 내비게이션 시스템페이지 표시 내용에 대한 작업을 수행하기만 하면 됩니다. |
유지보수성 | 여행 내비게이션 시스템개발의 유지 관리는 매우 중요합니다. 테스트 후에는 유지 관리에 문제가 없습니다. |
여행 내비게이션 시스템은 일반 사용자에게 종합적인 여행 정보 조회, 명소 티켓 구매, 호텔 예약 및 기타 기능을 제공합니다. 사용자의 사용 사례 다이어그램은 다음과 같습니다.
그림 2.1 사용자 역할 사용 사례 다이어그램
그림 2.2 관리자 역할 사용 사례 다이어그램
시스템의 모든 사용자(관리자 및 사용자)는 데이터를 추가할 수 있습니다. 그림 2.3은 데이터를 추가하는 과정을 보여줍니다.
그림 2.3 데이터 흐름도 추가
완벽한 사람은 없으며 누구나 실수를 할 때가 있습니다. 시스템 정보를 입력할 때 정보가 잘못된 경우 시스템의 데이터를 편집할 수 있습니다. 그림 2.4는 데이터를 수정하는 과정을 보여줍니다.
그림 2.4 데이터 흐름도 수정
사용자 로그아웃 등 일부 만료된 데이터가 시스템에 자주 나타나는 경우가 있습니다. 그러면 이러한 데이터를 직접 삭제할 수 있습니다. 그림 2.5는 데이터 삭제 시 흐름도입니다.
그림 2.5 삭제 데이터 흐름도
시스템의 타당성과 기능을 분석한 후, 다음 단계는 시스템을 구체적으로 설계하는 것입니다. 타당성 분석을 통해 시스템이 개발할 가치가 있다고 결론을 내립니다. 기능 분석을 통해 시스템이 구체적으로 어떤 기능을 구현했는지 판단할 수 있습니다. 기능적 요구 사항에 따라 이를 완성합니다. 이 장에서는 기능 모듈과 시스템 데이터베이스라는 두 가지 측면에서 시스템의 기능적 설계를 소개합니다.
이전 장의 기능 요구 사항 분석을 통해 이 여행 내비게이션 시스템의 기능 구조 다이어그램을 얻을 수 있습니다. 그림 3.1은 시스템의 기능 모듈 다이어그램입니다.
그림 3.1 여행 내비게이션 시스템의 기능 모듈 다이어그램
데이터베이스의 디자인은 시스템의 기초입니다. 시스템이 아무리 아름답더라도 데이터베이스를 디자인할 때 강력한 데이터베이스가 지원되지 않으면 실행할 수 없습니다. , 먼저 데이터베이스를 분석한 후 개념 모델을 개발하고 마지막으로 아래와 같이 데이터베이스 테이블을 생성합니다.
데이터베이스 개념 모델을 설계할 때 일반적으로 ER 엔터티 다이어그램이 표시에 사용됩니다. 데이터베이스 테이블의 모든 필드 이름은 엔터티 다이어그램에 표시될 수 있습니다. 이 시스템의 기본 데이터베이스 ER 모델 다이어그램은 아래 그림에 나와 있습니다.
그림 3.2 인기 관광지의 ER 관계도
그림 3.3 식품 정보 ER 관계 다이어그램
그림 3.4 숙박정보 ER 관계도
데이터베이스 테이블에서는 시스템의 테이블 이름, 기본 키, 외래 키 및 기타 정보를 볼 수 있습니다. 데이터베이스 테이블의 기본 키와 외래 키를 통해 각 테이블을 연결한 다음 이를 기본 데이터베이스에 표시합니다. 이 여행 내비게이션 시스템 표는 다음과 같습니다.
테이블 access_token(로그인 액세스 기간)
이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 | |
1 | 토큰_아이디 | 정수 | 10 | 0 | N | 와이 | 임시 액세스 배지 ID | |
2 | 토큰 | varchar | 64 | 0 | 와이 | N | 임시 액세스 배지 | |
3 | 정보 | 텍스트 | 65535 | 0 | 와이 | N | ||
4 | 맥세이지 | 정수 | 10 | 0 | N | N | 2 | 최대 수명: 기본 2시간 |
5 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
6 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
7 | 사용자_아이디 | 정수 | 10 | 0 | N | N | 0 | 사용자 ID: |
테이블 숙박_정보(숙박정보)
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 숙박 정보 ID | 정수 | 10 | 0 | N | 와이 | 숙박정보ID | |
2 | 홈스테이 이름 | varchar | 64 | 0 | 와이 | N | B&B 이름 | |
3 | 홈스테이 포스터 | varchar | 255 | 0 | 와이 | N | B&B 포스터 | |
4 | 홈스테이_별점_평가 | varchar | 64 | 0 | 와이 | N | B&B 별점 | |
5 | 주택금융 | varchar | 64 | 0 | 와이 | N | 주택 비용 | |
6 | 연락처_전화번호 | varchar | 64 | 0 | 와이 | N | 연락처 | |
7 | 홈스테이_위치 | varchar | 64 | 0 | 와이 | N | B&B 위치 | |
8 | 최신 할인 | 텍스트 | 65535 | 0 | 와이 | N | 최신 제안 | |
9 | 지원 시설 | 텍스트 | 65535 | 0 | 와이 | N | 지원시설 | |
10 | 홈스테이 서비스 | 텍스트 | 65535 | 0 | 와이 | N | 홈스테이 서비스 | |
11 | 히트 | 정수 | 10 | 0 | N | N | 0 | 클릭수 |
12 | 칭찬_렌 | 정수 | 10 | 0 | N | N | 0 | 좋아요 수 |
13 | 생성 시간 | 날짜 시간 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간 |
14 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간 |
표 기사(기사: 콘텐츠 관리 시스템에 대한 기사)
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 기사_아이디 | 중간 | 8 | 0 | N | 와이 | 문서 ID: [0,8388607] | |
2 | 제목 | varchar | 125 | 0 | N | 와이 | 제목: [0,125]는 기사 및 HTML의 제목 태그에 사용됩니다. | |
3 | 유형 | varchar | 64 | 0 | N | N | 0 | 기사 분류: [0,1000]은 지정된 유형의 기사를 검색하는 데 사용됩니다. |
4 | 히트 | 정수 | 10 | 0 | N | N | 0 | 클릭수: [0,1000000000] 이 글을 방문한 사람 수 |
5 | 칭찬_렌 | 정수 | 10 | 0 | N | N | 0 | 좋아요 수 |
6 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
7 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
8 | 원천 | varchar | 255 | 0 | 와이 | N | 출처: [0,255] 기사 출처 | |
9 | url | varchar | 255 | 0 | 와이 | N | 출처 주소: [0,255] 기사가 게시된 웹사이트로 이동하는 데 사용됩니다. | |
10 | 꼬리표 | varchar | 255 | 0 | 와이 | N | 태그: [0,255]는 기사의 관련 내용을 표시하는 데 사용됩니다. 여러 태그는 공백으로 구분됩니다. | |
11 | 콘텐츠 | 긴 텍스트 | 2147483647 | 0 | 와이 | N | 텍스트: 기사의 주요 내용 | |
12 | 이미지 | varchar | 255 | 0 | 와이 | N | 표지 사진 | |
13 | 설명 | 텍스트 | 65535 | 0 | 와이 | N | 기사 설명 |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 유형_아이디 | 작은 정수 | 5 | 0 | N | 와이 | 카테고리 ID: [0,10000] | |
2 | 표시하다 | 작은 정수 | 5 | 0 | N | N | 100 | 표시 순서: [0,1000]은 범주가 표시되는 순서를 결정합니다. |
3 | 이름 | varchar | 16 | 0 | N | N | 카테고리 이름: [2,16] | |
4 | 아버지_ID | 작은 정수 | 5 | 0 | N | N | 0 | 상위 카테고리 ID: [0,32767] |
5 | 설명 | varchar | 255 | 0 | 와이 | N | 설명: [0,255]는 이 분류의 역할을 설명합니다. | |
6 | 상 | 텍스트 | 65535 | 0 | 와이 | N | 카테고리 아이콘: | |
7 | url | varchar | 255 | 0 | 와이 | N | 외부링크 주소 : [0,255] 해당 카테고리가 다른 사이트로 이동하는 경우 해당 URL에 설정해주세요. | |
8 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
9 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 명소 정보 ID | 정수 | 10 | 0 | N | 와이 | 명소정보ID | |
2 | 매력_아이디 | varchar | 64 | 0 | 와이 | N | 어트랙션 번호 | |
3 | 명소 이름 | varchar | 64 | 0 | 와이 | N | 어트랙션 이름 | |
4 | 관광 명소의 분류 | varchar | 64 | 0 | 와이 | N | 명소 분류 | |
5 | 매력 포스터 | varchar | 255 | 0 | 와이 | N | 명소 포스터 | |
6 | 매력_홍보 | varchar | 255 | 0 | 와이 | N | 명소홍보 | |
7 | 1인당 가격 | 정수 | 10 | 0 | 와이 | N | 0 | 1인당 가격 |
8 | 업무 시간 | varchar | 64 | 0 | 와이 | N | 업무 시간 | |
9 | 경치 좋은 곳 평가 | varchar | 64 | 0 | 와이 | N | 어트랙션 등급 | |
10 | 연락처_전화번호 | varchar | 16 | 0 | 와이 | N | 연락처 | |
11 | 매력 서비스 | 텍스트 | 65535 | 0 | 와이 | N | 명소 서비스 | |
12 | 경치 좋은 곳 소개 | 텍스트 | 65535 | 0 | 와이 | N | 어트랙션 소개 | |
13 | 히트 | 정수 | 10 | 0 | N | N | 0 | 클릭수 |
14 | 칭찬_렌 | 정수 | 10 | 0 | N | N | 0 | 좋아요 수 |
15 | 추천하다 | 정수 | 10 | 0 | N | N | 0 | 지능형 추천 |
16 | 생성 시간 | 날짜 시간 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간 |
17 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간 |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 인증 ID | 정수 | 10 | 0 | N | 와이 | 승인 ID: | |
2 | 사용자 그룹 | varchar | 64 | 0 | 와이 | N | 사용자 그룹: | |
3 | 모드 이름 | varchar | 64 | 0 | 와이 | N | 모듈 이름: | |
4 | 테이블 이름 | varchar | 64 | 0 | 와이 | N | 테이블 이름: | |
5 | 페이지 제목 | varchar | 255 | 0 | 와이 | N | 페이지 제목: | |
6 | 길 | varchar | 255 | 0 | 와이 | N | 라우팅 경로: | |
7 | 위치 | varchar | 32 | 0 | 와이 | N | 위치: | |
8 | 방법 | varchar | 32 | 0 | N | N | _공백 | 점프 방법: |
9 | 추가하다 | 작은 int | 3 | 0 | N | N | 1 | 추가할 수 있나요? |
10 | 델 | 작은 int | 3 | 0 | N | N | 1 | 삭제할 수 있나요? |
11 | 세트 | 작은 int | 3 | 0 | N | N | 1 | 수정 가능 여부: |
12 | 얻다 | 작은 int | 3 | 0 | N | N | 1 | 다음을 볼 수 있습니까? |
13 | 필드_추가 | 텍스트 | 65535 | 0 | 와이 | N | 필드 추가: | |
14 | 필드_세트 | 텍스트 | 65535 | 0 | 와이 | N | 필드 수정: | |
15 | 필드_겟 | 텍스트 | 65535 | 0 | 와이 | N | 쿼리 필드: | |
16 | 테이블_탐색_이름 | varchar | 500 | 0 | 와이 | N | 크로스 테이블 탐색 이름: | |
17 | 테이블 탐색 | varchar | 500 | 0 | 와이 | N | 크로스 테이블 탐색: | |
18 | 옵션 | 텍스트 | 65535 | 0 | 와이 | N | 구성: | |
19 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
20 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
테이블 classification_of_tourist_attractions(명소 분류)
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 관광 명소_분류_ID | 정수 | 10 | 0 | N | 와이 | 어트랙션 분류 ID | |
2 | 유형 이름 | varchar | 64 | 0 | 와이 | N | 유형 이름 | |
3 | 생성 시간 | 날짜 시간 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간 |
4 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간 |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 수집_아이디 | 정수 | 10 | 0 | N | 와이 | 컬렉션 ID: | |
2 | 사용자_아이디 | 정수 | 10 | 0 | N | N | 0 | 수집가 ID: |
3 | 소스 테이블 | varchar | 255 | 0 | 와이 | N | 소스 테이블: | |
4 | 소스 필드 | varchar | 255 | 0 | 와이 | N | 소스 필드: | |
5 | 소스_아이디 | 정수 | 10 | 0 | N | N | 0 | 소스 ID: |
6 | 제목 | varchar | 255 | 0 | 와이 | N | 제목: | |
7 | 이미지 | varchar | 255 | 0 | 와이 | N | 씌우다: | |
8 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
9 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 댓글_아이디 | 정수 | 10 | 0 | N | 와이 | 댓글 ID: | |
2 | 사용자_아이디 | 정수 | 10 | 0 | N | N | 0 | 댓글 작성자 ID: |
3 | 답장_아이디 | 정수 | 10 | 0 | N | N | 0 | 답글 댓글 ID: 비어 있으면 0입니다. |
4 | 콘텐츠 | 긴 텍스트 | 2147483647 | 0 | 와이 | N | 콘텐츠: | |
5 | 별명 | varchar | 255 | 0 | 와이 | N | 닉네임: | |
6 | 화신 | varchar | 255 | 0 | 와이 | N | 아바타 주소: [0,255] | |
7 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
8 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
9 | 소스 테이블 | varchar | 255 | 0 | 와이 | N | 소스 테이블: | |
10 | 소스 필드 | varchar | 255 | 0 | 와이 | N | 소스 필드: | |
11 | 소스_아이디 | 정수 | 10 | 0 | N | N | 0 | 소스 ID: |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 식품정보ID | 정수 | 10 | 0 | N | 와이 | 식품정보ID | |
2 | 음식 이름 | varchar | 64 | 0 | 와이 | N | 식품명 | |
3 | 음식_유형 | varchar | 64 | 0 | 와이 | N | 요리의 종류 | |
4 | 음식 포스터 | varchar | 255 | 0 | 와이 | N | 음식 포스터 | |
5 | 음식_홍보 | varchar | 255 | 0 | 와이 | N | 식품홍보 | |
6 | 음식_위치 | varchar | 64 | 0 | 와이 | N | 먹거리 명소 | |
7 | 음식의 특성 | 텍스트 | 65535 | 0 | 와이 | N | 식품의 특성 | |
8 | 음식 암시 | 텍스트 | 65535 | 0 | 와이 | N | 음식 암시 | |
9 | 히트 | 정수 | 10 | 0 | N | N | 0 | 클릭수 |
10 | 칭찬_렌 | 정수 | 10 | 0 | N | N | 0 | 좋아요 수 |
11 | 생성 시간 | 날짜 시간 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간 |
12 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간 |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 식품_유형_ID | 정수 | 10 | 0 | N | 와이 | 식품 유형 ID | |
2 | 유형 이름 | varchar | 64 | 0 | 와이 | N | 유형 이름 | |
3 | 생성 시간 | 날짜 시간 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간 |
4 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간 |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 히트_아이디 | 정수 | 10 | 0 | N | 와이 | 좋아요 아이디: | |
2 | 사용자_아이디 | 정수 | 10 | 0 | N | N | 0 | 좋아하는 사람: |
3 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
4 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
5 | 소스 테이블 | varchar | 255 | 0 | 와이 | N | 소스 테이블: | |
6 | 소스 필드 | varchar | 255 | 0 | 와이 | N | 소스 필드: | |
7 | 소스_아이디 | 정수 | 10 | 0 | N | N | 0 | 소스 ID: |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 메시지_아이디 | 정수 | 10 | 0 | N | 와이 | 게시판 ID: | |
2 | 사용자_아이디 | 정수 | 10 | 0 | N | N | 0 | 사용자 ID: |
3 | 제목 | varchar | 64 | 0 | 와이 | N | 제목: | |
4 | 콘텐츠 | 긴 텍스트 | 2147483647 | 0 | N | N | 콘텐츠: | |
5 | 별명 | varchar | 32 | 0 | N | N | 닉네임: | |
6 | 화신 | varchar | 255 | 0 | 와이 | N | 화신: | |
7 | 이메일 | varchar | 125 | 0 | 와이 | N | 댓글 작성자의 이메일 주소 | |
8 | 핸드폰 | varchar | 11 | 0 | 와이 | N | 메시지를 보내는 사람의 휴대폰 번호 | |
9 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
10 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
11 | 회신하다 | 긴 텍스트 | 2147483647 | 0 | 와이 | N | 회신하다 | |
12 | 답변_상태 | 작은 int | 4 | 0 | 와이 | N | 0 | 회신 상태 |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 공지사항_아이디 | 중간 | 8 | 0 | N | 와이 | 공지사항 ID: | |
2 | 제목 | varchar | 125 | 0 | N | N | 제목: | |
3 | 콘텐츠 | 긴 텍스트 | 2147483647 | 0 | 와이 | N | 텍스트: | |
4 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
5 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 칭찬_아이디 | 정수 | 10 | 0 | N | 와이 | 좋아요 아이디: | |
2 | 사용자_아이디 | 정수 | 10 | 0 | N | N | 0 | 좋아하는 사람: |
3 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
4 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
5 | 소스 테이블 | varchar | 255 | 0 | 와이 | N | 소스 테이블: | |
6 | 소스 필드 | varchar | 255 | 0 | 와이 | N | 소스 필드: | |
7 | 소스_아이디 | 정수 | 10 | 0 | N | N | 0 | 소스 ID: |
8 | 상태 | 조금 | 1 | 0 | N | N | 1 | 좋아요 상태: 좋아요 1개, 취소 0개 |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 등록된 사용자 ID | 정수 | 10 | 0 | N | 와이 | 사용자 아이디 등록 | |
2 | 사용자 이름 | varchar | 64 | 0 | 와이 | N | 사용자 이름 | |
3 | 사용자_성별 | varchar | 64 | 0 | 와이 | N | 사용자 성별 | |
4 | 휴대 전화 번호 | varchar | 16 | 0 | 와이 | N | 전화 번호 | |
5 | 검사_상태 | varchar | 16 | 0 | N | N | 합격 | 승인 상태 |
6 | 사용자_아이디 | 정수 | 10 | 0 | N | N | 0 | 사용자 ID |
7 | 생성 시간 | 날짜 시간 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간 |
8 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간 |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 경로 계획 ID | 정수 | 10 | 0 | N | 와이 | 경로 계획 ID | |
2 | 경로 이름 | varchar | 64 | 0 | 와이 | N | 노선명 | |
3 | 경치 좋은 곳을 지나가다 | varchar | 64 | 0 | 와이 | N | 명승지를 지나며 | |
4 | 디스플레이_이미지 | varchar | 255 | 0 | 와이 | N | 사진 보여주기 | |
5 | 여행 경비 | varchar | 64 | 0 | 와이 | N | 여행 비용 | |
6 | 여행일 | varchar | 64 | 0 | 와이 | N | 여행일 | |
7 | 청중에게_적합하다 | varchar | 64 | 0 | 와이 | N | 군중에게 적합 | |
8 | 경로 안내 | 텍스트 | 65535 | 0 | 와이 | N | 노선안내 | |
9 | 히트 | 정수 | 10 | 0 | N | N | 0 | 클릭수 |
10 | 칭찬_렌 | 정수 | 10 | 0 | N | N | 0 | 좋아요 수 |
11 | 생성 시간 | 날짜 시간 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간 |
12 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간 |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 슬라이드_아이디 | 정수 | 10 | 0 | N | 와이 | 캐러셀 이미지 ID: | |
2 | 제목 | varchar | 64 | 0 | 와이 | N | 제목: | |
3 | 콘텐츠 | varchar | 255 | 0 | 와이 | N | 콘텐츠: | |
4 | url | varchar | 255 | 0 | 와이 | N | 링크: | |
5 | 이미지 | varchar | 255 | 0 | 와이 | N | 캐러셀 이미지: | |
6 | 히트 | 정수 | 10 | 0 | N | N | 0 | 클릭수: |
7 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
8 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 업로드_아이디 | 정수 | 10 | 0 | N | 와이 | 아이디 업로드 | |
2 | 이름 | varchar | 64 | 0 | 와이 | N | 파일 이름 | |
3 | 길 | varchar | 255 | 0 | 와이 | N | 액세스 경로 | |
4 | 파일 | varchar | 255 | 0 | 와이 | N | 파일 경로 | |
5 | 표시하다 | varchar | 255 | 0 | 와이 | N | 표시 순서 | |
6 | 아버지_ID | 정수 | 10 | 0 | 와이 | N | 0 | 부모 ID |
7 | 디렉 | varchar | 255 | 0 | 와이 | N | 폴더 | |
8 | 유형 | varchar | 32 | 0 | 와이 | N | 파일 유형 |
테이블 사용자(사용자 계정: 사용자 로그인 정보를 저장하기 위해 사용)
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 사용자_아이디 | 중간 | 8 | 0 | N | 와이 | 사용자 ID : [0,8388607] 사용자가 다른 사용자 관련 데이터를 얻습니다. | |
2 | 상태 | 작은 정수 | 5 | 0 | N | N | 1 | 계정 상태: [0,10](사용 가능 1개 | 비정상 2개 | 동결 3개 | 로그아웃 4개) |
3 | 사용자 그룹 | varchar | 32 | 0 | 와이 | N | 사용자 그룹: [0,32767]이 사용자 ID 및 권한을 결정합니다. | |
4 | 로그인 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 마지막 로그인 시간: |
5 | 핸드폰 | varchar | 11 | 0 | 와이 | N | 휴대폰번호 : [0,11] 비밀번호 조회나 로그인에 사용되는 이용자의 휴대폰 번호 | |
6 | 전화_상태 | 작은 정수 | 5 | 0 | N | N | 0 | 휴대폰 인증 : [0,1] (0 미인증 | 1 검토중 | 2 인증) |
7 | 사용자 이름 | varchar | 16 | 0 | N | N | 사용자 이름: [0,16] 사용자가 로그인하는 데 사용하는 계정 이름 | |
8 | 별명 | varchar | 16 | 0 | 와이 | N | 별명: [0,16] | |
9 | 비밀번호 | varchar | 64 | 0 | N | N | 비밀번호 : [0,32] 사용자 로그인에 필요한 비밀번호로 6~16자리 또는 영문으로 구성됩니다. | |
10 | 이메일 | varchar | 64 | 0 | 와이 | N | 이메일: [0,64] 비밀번호를 검색하거나 로그인하는 데 사용되는 사용자의 이메일입니다. | |
11 | 이메일_상태 | 작은 정수 | 5 | 0 | N | N | 0 | 이메일 인증: [0,1] (0은 인증되지 않음 | 1은 검토 중 | 2는 인증됨) |
12 | 화신 | varchar | 255 | 0 | 와이 | N | 아바타 주소: [0,255] | |
13 | 오픈아이디 | varchar | 255 | 0 | 와이 | N | 사용자 정보 필드를 얻기 위해 | |
14 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
15 | vip_레벨 | varchar | 255 | 0 | 와이 | N | 회원 등급 | |
16 | vip_할인 | 더블 | 11 | 2 | 와이 | N | 0.00 | 회원할인 |
테이블 user_group(사용자 그룹: 사용자 프런트엔드 ID 및 인증에 사용됨)
일련번호 | 이름 | 데이터 유형 | 길이 | 소수점 자리 | Null 값 허용 | 기본 키 | 기본값 | 설명하다 |
1 | 그룹_아이디 | 중간 | 8 | 0 | N | 와이 | 사용자 그룹 ID: [0,8388607] | |
2 | 표시하다 | 작은 정수 | 5 | 0 | N | N | 100 | 표시 순서: [0,1000] |
3 | 이름 | varchar | 16 | 0 | N | N | 이름: [0,16] | |
4 | 설명 | varchar | 255 | 0 | 와이 | N | 설명: [0,255] 이 사용자 그룹의 특성 또는 권한 범위를 설명합니다. | |
5 | 소스 테이블 | varchar | 255 | 0 | 와이 | N | 소스 테이블: | |
6 | 소스 필드 | varchar | 255 | 0 | 와이 | N | 소스 필드: | |
7 | 소스_아이디 | 정수 | 10 | 0 | N | N | 0 | 소스 ID: |
8 | 등록하다 | 작은 정수 | 5 | 0 | 와이 | N | 0 | 등록 장소: |
9 | 생성 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 생성 시간: |
10 | 업데이트 시간 | 타임스탬프 | 19 | 0 | N | N | 현재 타임스탬프 | 업데이트 시간: |
관리자와 사용자는 로그인 인터페이스에 계정 번호 + 비밀번호를 입력하고 확인을 완료한 후 "로그인" 버튼을 클릭합니다. 시스템은 계정 번호와 비밀번호가 올바른 경우 사용자 데이터베이스 테이블에 있는 관리자와 사용자의 계정을 일치시킵니다. 을 클릭하면 각 사용자의 기본 관리 인터페이스에 로그인됩니다. 그렇지 않으면 해당 정보가 표시되고 사용자는 아래 그림 4.1과 같이 로그인 인터페이스로 돌아갑니다.
그림 4.1 로그인 인터페이스 다이어그램
로그인 코드는 다음과 같습니다.
/**
* 로그인
* @param 데이터
* @param httpServletRequest
* @반품
*/
@PostMapping("로그인")
공공지도<String, Object> 로그인(@RequestBody Map<String, String> 데이터, HttpServletRequest httpServletRequest) {
log.info("[로그인 인터페이스 실행]");
문자열 사용자 이름 = data.get("사용자 이름");
문자열 이메일 = data.get("이메일");
문자열 전화 = data.get("전화");
문자열 비밀번호 = data.get("password");
목록 결과List = null;
지도<String, String> 맵 = 새로운 HashMap<>();
if(사용자 이름 != null && "".equals(사용자 이름) == false){
map.put("사용자 이름", 사용자 이름);
resultList = service.selectBaseList(service.select(맵, 새로운 HashMap<>()));
}
그렇지 않으면(이메일 != null && "".equals(이메일) == false){
map.put("이메일", 이메일);
resultList = service.selectBaseList(service.select(맵, 새로운 HashMap<>()));
}
그렇지 않으면 if(phone != null && "".equals(phone) == false){
map.put("전화번호", 전화번호);
resultList = service.selectBaseList(service.select(맵, 새로운 HashMap<>()));
}또 다른{
return error(30000, "계정 또는 비밀번호는 비워둘 수 없습니다.");
}
if (결과목록 == null || 비밀번호 == null) {
return error(30000, "계정 또는 비밀번호는 비워둘 수 없습니다.");
}
//이 사용자가 있는지 확인
(결과목록.크기()<=0)인 경우
return error(30000,"사용자가 존재하지 않습니다");
}
사용자별이름 = (사용자) resultList.get(0);
지도<String, String> 그룹맵 = 새로운 해시맵<>();
groupMap.put("이름",byUsername.getUserGroup());
목록 그룹 목록 = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
그룹리스트.크기()<1인 경우
return error(30000,"사용자 그룹이 존재하지 않습니다");
}
사용자 그룹 사용자 그룹 = (사용자 그룹) 그룹 목록.get(0);
//사용자 리뷰 상태 쿼리
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
문자열 res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
if (res==null){
return error(30000,"사용자가 존재하지 않습니다");
}
if (!res.equals("통과")){
return error(30000,"이 사용자는 리뷰를 통과하지 못했습니다.");
}
}
//사용자 상태 쿼리
if (byUsername.getState()!=1){
return error(30000, "이 사용자는 사용할 수 없으며 로그인할 수 없습니다.");
}
문자열 md5password = service.encryption(비밀번호);
if (byUsername.getPassword().equals(md5password)) {
// 데이터베이스에 토큰 저장
액세스 토큰 액세스 토큰 = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
지속 시간 지속 시간 = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
//사용자 정보를 반환합니다.
JSONObject 사용자 = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("토큰", accessToken.getToken());
JSONObject ret = 새로운 JSONObject();
ret.put("obj",user);
성공을 반환합니다(ret);
} 또 다른 {
return error(30000, "계정 또는 비밀번호가 올바르지 않습니다.");
}
}
사용자는 로그인 인터페이스에 계정 번호 + 비밀번호를 입력하고 확인을 완료한 후 "로그인" 버튼을 클릭합니다. 시스템은 계정 번호 + 비밀번호가 일치하는 경우 사용자 데이터베이스 테이블의 관리자 계정과 일치합니다. 정확하면 사용자는 기본 관리 인터페이스에 로그인됩니다. 그렇지 않으면 해당 정보가 표시되고 사용자는 아래 그림 4.2에 표시된 기본 인터페이스로 돌아갑니다.
그림 4.1 등록 인터페이스 다이어그램
등록코드는 다음과 같습니다.
/**
* 등록하다
* @param 사용자
* @반품
*/
@PostMapping("등록")
공공지도<String, Object> signUp(@RequestBody 사용자 사용자) {
//사용자 쿼리
지도<String, String> 쿼리 = 새로운 HashMap<>();
지도<String,Object> 맵 = JSON.parseObject(JSON.toJSONString(사용자));
쿼리.put("사용자 이름",user.getUsername());
목록 목록 = service.selectBaseList(service.select(query, new HashMap<>()));
(list.size()>0)이면
반환 오류(30000, "사용자가 이미 존재합니다.");
}
map.put("비밀번호",서비스.암호화(String.valueOf(map.get("비밀번호"))));
서비스.삽입(맵);
성공을 반환합니다(1);
}
사용자가 시스템을 사용하여 등록을 완료한 후 사용자가 로그인 비밀번호를 변경해야 하는 경우 시스템은 사용자에게 비밀번호 변경 권한을 제공할 수도 있습니다. 시스템의 모든 운영자는 자신의 비밀번호 정보를 변경할 수 있습니다. 이 기능을 수행하려면 먼저 시스템에 로그인한 다음 비밀번호 변경 옵션을 선택한 다음 제공된 텍스트 상자에 초기 비밀번호와 새 비밀번호를 입력하여 완료해야 합니다. 비밀번호 변경 작업. 입력할 때 두 개의 비밀번호 입력 간에 차이가 있으면 비밀번호 변경 작업이 실패합니다. 아래 그림은 이 섹션의 해당 인터페이스를 보여줍니다. 인터페이스는 아래와 같습니다.
그림 4.3 비밀번호 수정 인터페이스 다이어그램
비밀번호 수정 코드는 다음과 같습니다.
/**
* 비밀번호 변경
* @param 데이터
* @param 요청
* @반품
*/
@PostMapping("비밀번호 변경")
공공지도<String, Object> change_password(@RequestBody 맵<String, String> 데이터, HttpServletRequest 요청){
// 토큰을 기반으로 UserId를 가져옵니다.
문자열 토큰 = request.getHeader("x-auth-token");
정수 사용자 ID = tokenGetUserId(토큰);
// UserId와 이전 비밀번호를 기반으로 사용자를 가져옵니다.
지도<String, String> 쿼리 = 새로운 HashMap<>();
문자열 o_password = data.get("o_password");
쿼리.put("user_id" ,String.valueOf(userId));
쿼리.put("password" ,service.encryption(o_password));
int count = service.selectBaseCount(서비스.count(쿼리, 서비스.readConfig(요청)));
개수 > 0인 경우
// 비밀번호 변경
지도<String,Object> 형식 = 새로운 HashMap<>();
form.put("비밀번호",service.encryption(data.get("비밀번호")));
서비스.업데이트(쿼리, 서비스.readConfig(요청),양식);
성공을 반환합니다(1);
}
return error(10000,"비밀번호 수정에 실패했습니다!");
}
그림 4.4 경로 계획 인터페이스 다이어그램
명소정보 : 명소정보 목록을 볼 수 있으며, 명소소개, 교통안내, 영업시간, 명소소개, 명소평가 등 최신 관광지 소개를 볼 수 있습니다. 관심 있는 명소에 좋아요, 수집, 댓글 달기 등도 가능합니다. 여행하다. 인터페이스는 아래와 같습니다.
그림 4.5 명소 정보 인터페이스 다이어그램
음식 정보 목록: 음식 이름, 종류, 특징, 사진 표시 등 추천 음식 정보를 표시합니다. 사용자는 좋아요, 수집, 댓글 작성 및 기타 작업을 선택할 수 있습니다. 인터페이스는 아래와 같습니다.
그림 4.6 식품 정보 목록 인터페이스 다이어그램
경로 계획 관리: 경로 이름, 통과한 명승지, 여행 비용, 여행 날짜, 적합한 군중, 경로 전략 및 기타 정보 추가를 포함하여 경로 계획 목록 추가를 관리합니다. 인터페이스는 아래와 같습니다.
그림 4.7 경로 계획 관리 인터페이스 다이어그램
명소 정보 관리: 명소 이름, 명소 분류, 명소 프로모션, 영업 시간, 평가, 연락처 및 기타 정보를 포함한 정보를 명소 정보 목록에 관리하고 추가합니다. 인터페이스는 아래와 같습니다.
그림 4.8 명소 정보 관리 인터페이스 다이어그램
음식 정보 관리: 음식 이름, 음식 유형, 음식 판촉, 음식 위치, 음식 암시 및 기타 정보를 포함하여 음식 정보 목록에 정보를 관리하고 추가합니다. 인터페이스는 아래와 같습니다.
그림 4.9 음식 정보 추가를 위한 인터페이스 다이어그램
숙소정보 관리 : 추천 숙소정보 목록을 관리하고 민박 이름, 민박 등급, 연락처, 민박 위치, 민박 서비스, 기타 정보 등 숙박정보를 추가합니다. 인터페이스는 아래와 같습니다.
그림 4.10 호텔 예약 인터페이스 다이어그램
시스템 관리 : 이미지 추가, 편집, 삭제, 캐러셀 이미지 링크 등 홈페이지 내 캐러셀 이미지 표시 및 전환을 관리합니다. 인터페이스는 아래와 같습니다.
그림 4.11 시스템 관리 인터페이스 다이어그램
이제 시스템 개발이 기본적으로 완료되었습니다. 다음으로 시스템의 실험과 결과를 분석하여 시스템이 정상적으로 작동할 수 있는지 확인한 후 시스템의 실험과 결과 분석을 위한 탐지 방법을 테스트합니다. 테스트는 시스템입니다. 완료의 마지막 단계에서는 테스트되지 않은 시스템을 사용할 수 없습니다. 그렇지 않으면 버그가 발생하면 손실이 발생합니다. 아래에서는 테스트 방법과 테스트 사용 사례를 분석합니다. 마지막으로 시스템 테스트 결과를 제공합니다.
시스템 테스트에는 두 가지 유형이 있는데, 하나는 블랙박스 테스트이고 다른 하나는 화이트박스 테스트입니다. 블랙박스 테스트는 일반적으로 기능 테스트라고도 합니다. 우리는 단지 사용자로서 시스템을 테스트하고 있으며, 주로 이전 테스트 경험에 의존하여 몇 가지 중요한 값을 얻은 다음 테스트 사례를 통해 테스트하는 것이 문제를 찾는 가장 빠른 방법입니다. 둘째, 대표적인 데이터를 찾고 시스템에서 사용 사례 테스트를 수행할 수 있습니다. 블랙박스 테스트 프로세스에서 일반적으로 사용되는 테스트 도구는 winrunner와 AutoRunner이며, 이를 결과 테스트라고 합니다. 화이트박스 테스트 과정에서 우리는 주로 시스템 개발 원칙에 따라 테스트하며, 코드가 특정 기능을 완료했는지, 특정 구현이 완료되었는지를 주로 테스트합니다. 물론 이 테스트 방법이 맞습니까? 각 함수에는 둘 이상의 실행 경로가 있기 때문에 시간이 많이 걸리고 힘듭니다. 프로그램에서 실행 경로를 테스트하면 개발된 코드에 버그가 있는지, 화이트 중에 일반적으로 사용되는 테스트 도구가 달성되었는지 여부를 확인할 수 있습니다. -box 테스트에는 Jcontract, C++ Test 및 CodeWizard가 있습니다.
로그인 모듈의 기능 테스트:
표 5.1 로그인 모듈 기능 테스트 표
테스트 이름 | 테스트 기능 | 운영과정 | 예상되는 결과 | 시험 결과 |
로그인 모듈 테스트 | 로그인 성공 | 사용자는 브라우저를 통해 여행 내비게이션 시스템의 로그인 인터페이스에 들어갈 수 있으며 사용자 이름: admin 및 비밀번호 admin을 입력하고 슬라이딩 퍼즐 확인을 완료한 후 "로그인" 버튼을 클릭할 수 있습니다. | 관리자 관리 인터페이스에 성공적으로 로그인했습니다. | 옳은 |
로그인 모듈 테스트 | 로그인 실패 | 사용자는 브라우저를 통해 여행 내비게이션 시스템의 로그인 인터페이스에 들어갈 수 있으며 사용자 이름: admin 및 비밀번호 111을 입력하고 슬라이딩 퍼즐 확인을 완료한 후 "로그인" 버튼을 클릭할 수 있습니다. | 시스템에 "사용자 이름과 비밀번호가 일치하지 않습니다"라는 메시지가 나타납니다. | 옳은 |
사용자 정보 추가 기능 테스트:
표 5.2 사용자 정보 추가 기능 테스트 표
테스트 이름 | 테스트 기능 | 운영과정 | 예상되는 결과 | 시험 결과 |
사용자 정보 추가 모듈 테스트 | 사용자 정보가 추가되었습니다. | 관리자는 "시스템 사용자" 메뉴에서 "사용자 정보"를 클릭하면 모든 사용자 정보가 표시됩니다. "추가" 버튼을 클릭하고 계좌번호, 비밀번호, 닉네임, 휴대전화번호, 이메일 등을 입력한 후, "제출"" 버튼을 클릭하세요. | 프롬프트가 성공적으로 추가되었습니다. | 옳은 |
사용자 정보 추가 모듈 테스트 | 사용자 정보를 추가하지 못했습니다. | 관리자는 "시스템 사용자" 메뉴에서 "사용자 정보"를 클릭하면 모든 사용자 정보가 표시됩니다. 기타 정보를 정상적으로 입력한 후 "추가" 버튼을 클릭합니다. | "추가에 실패했습니다. 계정을 비워둘 수 없습니다"라는 메시지가 표시됩니다. | 옳은 |
여행정보 정보 조회 기능 모듈 테스트:
표 5.3 여행정보 정보 조회 기능 테스트 폼
테스트 이름 | 테스트 기능 | 운영과정 | 예상되는 결과 | 시험 결과 |
여행정보 정보조회 기능 테스트 | 쿼리 성공 상태 | 사용자가 메뉴 바에서 "여행 정보"를 클릭하면 시스템의 모든 여행 정보가 나타납니다. | 검색 성공 | 옳은 |
인기 어트랙션 추가 기능 모듈 테스트:
표 5.4 인기 관광지 기능 테스트 테이블 추가
테스트 이름 | 테스트 기능 | 운영과정 | 예상되는 결과 | 시험 결과 |
인기 관광지 모듈 테스트 추가 | 인기 관광지 성공적 추가 | '인기 관광지' 메뉴를 클릭하신 후 관광지 정보를 입력하시면 정보 제출이 가능합니다. | 프롬프트 제출 성공 | 옳은 |
인기 관광지 모듈 테스트 추가 | 인기 명소를 추가하지 못했습니다. | 인기 관광지 정보 제출시 관광지 입장권은 입력하지 마시고, 기타 사항은 정상적으로 입력하신 후 '제출' 버튼을 눌러주세요. | "추가에 실패했습니다. 정보를 비워둘 수 없습니다"라는 메시지가 나타납니다. | 옳은 |
본 장에서는 여행 내비게이션 시스템에 대한 흑백박스 테스트를 진행하였고, 시스템의 일부 기능에 대한 사용사례 분석을 진행하였으며, 시스템이 비교적 안정적이며 시스템의 모든 기능을 수행하고 있음을 알 수 있다. 기본적으로 여행 정보에 대한 관리자와 사용자의 요구를 충족시킬 수 있으며, 인기 명소를 추가하고, 사용자 정보 및 기타 요구 사항을 추가할 수 있습니다. 테스트를 통해 시스템 작동 중에 기능이 완료되었음을 알 수 있습니다. 입력 오류 정보의 경우 오류 정보를 표시할 수 있어 사용자가 입력한 정보에 오류가 있는 위치를 쉽게 확인할 수 있습니다. 또한 시스템 인터페이스에는 모두 탐색 표시줄이 있어 작동이 매우 편리하고 사용자에게 교육이 필요하지 않습니다.
몇 달간의 노력 끝에 마침내 이 여행 내비게이션 시스템이 완성되었습니다. 비록 학교에서 일부 작은 시스템이 개발되었지만 시스템 분석이 직접 시작되기 전에는 교사의 설명과 도움으로 모두 완성되었습니다. 그래서 이번에 개발된 여행 내비게이션 시스템은 나에게 큰 의미가 있다.
시스템 개발 초기에 우리는 개발된 시스템이 기업에서 사용자의 관리 요구를 충족시키기 위해 어떤 기능을 구현해야 하는지 이해하기 위해 관광 내비게이션 시스템의 요구 사항에 대한 설문 조사를 수행하고 두 번째로 요구 사항을 분석했습니다. 우리에게 익숙한 JAVA 언어를 선택했습니다. MYSQL 데이터베이스는 SpringBoot 프레임워크를 사용하여 설계 및 개발되었으며, CNKI 도서관, 학교 도서관 및 기타 장소를 통해 이러한 기술을 참조하고 배울 수 있으며 프로그래밍 아이디어와 방법을 마스터할 수 있습니다. 시스템 개발의 타당성부터 시스템 구현까지 시스템의 기능, 시스템이 갖추어야 할 성능, 시스템의 운영 절차 등의 측면에서 시스템을 종합적으로 분석하여 시스템의 최종 기능을 결정하고, 이를 통해 시스템의 기능과 데이터베이스를 설계하고, 마지막으로 시스템을 구현하고 구현된 기능을 테스트하여 시스템이 안정적으로 작동할 수 있는지 확인합니다.
개발 과정에서 제 자신의 문제점이 많이 노출되었습니다. 예를 들어, 초기 준비가 충분하지 않았고, 개발 과정에서 JAVA 프로그래밍에 능숙하지 못했고, 여전히 문제가 있었습니다. 시스템 환경 구성으로 인해 프로젝트를 실행할 때 오류가 발생하는 경우가 많습니다. 배움에는 끝이 없습니다. 튜터에게 조언을 구함으로써 나는 이 문제를 천천히 해결했습니다. 이 프로젝트의 발전을 통해 나는 앞으로 더 열심히 공부할 것입니다!
[1] Wu Linglin. SpringBoot를 기반으로 한 고객 관계 관리 시스템의 설계 및 구현 [J], 2023, 20(24): 60-62.
[2] Huang Saiying. Springboot를 기반으로 한 병원 기록 관리 시스템 설계 [J], 2023, 40(11): 384-385.
[3] Lin Shengfeng, Yao Jinjiang, Lin Tao, Liu Jiaxiao, Tian Zhizhuo, Li Chao. SpringBoot를 기반으로 한 대학 실험실 관리 시스템 설계, 2023, 20(18): 80-82.
[4] Wang Rong, Li Qiang, He Ying, Guo Ya, Wu Xiaomin, Yang Zhenglin, Huang Yiwang. 맞춤형 여행 추천 시스템의 설계 및 구현 [J], 2023, 39(09):95-99.
[5] Yin Li, Du Xiaonan, SpringBoot 및 Vue를 기반으로 한 캠퍼스 포인트 시스템 설계 및 구현 [J], 2023, 40(07): 414-415.
[6] Li Qin, Cui Mingyang, Qian Yiwen, Liu Jingjing. SpringBoot를 기반으로 한 대학원 학술 기록 관리 시스템 개발 [J], 2023, 19(18): 46-48+51.
[7] Li En. 사용자 추천 알고리즘을 기반으로 한 우한 레드 관광 플랫폼 설계 및 구현 [D], 2023.
[8] Wan Yanbing. Flink를 기반으로 한 맞춤형 여행 추천 시스템 연구 및 개발 [D], 2023.
[9] Yang Jiapeng, Zu Yuwei, Ji Jiaqi, Chen Lifang. Spark 프레임워크 기반의 폭포 통합 여행 추천 시스템 [J], 2023, 13(04): 142-146.
[10]Yu Yang.Springboot 기반 학생 정보 관리 시스템의 설계 및 구현[J].Advances in Computer, Signals and Systems,2022,6(6):
[11] Chen Yong. 협업 필터링 알고리즘을 기반으로 한 여행 추천 시스템 설계 [J], 2022, 41(30): 160-162.
[12] Zhang Min, Zhang Lamei, Chen Zhengyu. 웹 기반 여행 추천 시스템 [J], 2022, 23(10): 132-135.
[13] Chen Ling. Django 소프트웨어를 기반으로 한 중국의 빨간색 관광 추천 시스템 설계 및 구현, 2022, 43(09): 100-103.
[14] Xu Yang. 지식 그래프 기반 여행 경로 추천 시스템 [D], 2022.
[15]Wu Hejing.Springboot 기반 Commerce Middle Office Management System[J].국제 고급 네트워크, 모니터링 및 제어 저널, 2022, 7(2):32-45.
[16] Liu Xiuhuan. 부모-자녀 여행 추천 시스템 설계 및 구현 [D], 2021.
[17] Li Wei. 빅데이터 마이닝 기술을 기반으로 한 스마트 관광 추천 시스템 설계 연구 [J], 2021, 27(32): 117-120.
[18]Fuyuan Cheng.Springboot 프레임워크 기반 중소기업을 위한 인재 채용 관리 시스템[J].교육기술 및 심리학의 발전, 2021, 5(2):
[19] Guanhong Chen, Jiangming Xu. SpringBoot Framework 기반 효율적인 학습 플랫폼의 설계 및 구현[J]. 전자 및 정보 과학 저널, 2020, 6(1):
[20]Jian Chen, Chen Jian, Pan Hailan. SpringBoot 프레임워크에서의 인력 관리 정보 시스템 설계[J]. 물리학 저널: 컨퍼런스 시리즈, 2020, 1646(1):012136-.
'인정'은 논문이 끝났다는 의미이기도 하고, 나의 졸업 프로젝트가 성공적으로 끝났다는 의미이기도 합니다. 사랑하는 선생님들과 친구들을 여기에 남겨두고 싶다는 뜻이기도 합니다. 우선 감사드립니다 모든 선생님들께 "산에는 봄이 가득하고 정원에는 푸르름이 가득하며 복숭아와 자두가 봄을 다투고 미소가 드러나며 봄은 항상 동쪽과 서쪽에 있습니다." , 북과 남, 오직 선생님들만이 관심을 갖는다", 그들은 나의 학업과 삶의 모든 것을 주셨고, 진심으로 가르쳐 주셨고, 두 번째로 선생님께 감사의 말씀을 전하고 싶습니다. 그분은 나의 졸업 프로젝트 전체를 지도해 주셨습니다. 어려움이 있으면 항상 즉시 도움을 주시고 문제 해결을 안내해 주셨습니다. "사람에게 낚시를 가르치는 것보다 낚시하는 법을 가르치는 것이 더 좋습니다." 동시에 나는 강사로부터 많은 개발 기술과 테스트를 배웠으며 이는 앞으로 나에게 도움이 될 것입니다. 나는 그들을 표현할 수 없을 정도로 꺼려합니다. 앞으로의 삶에서 그들을 생각할 때마다 마음이 따뜻해질 것이라고 믿습니다.이런 우정은 어떤 감동과도 바꿀 수 없습니다.마지막으로 가족들에게 감사드립니다. 저의 학업에 대한 끈기와 지원이 저의 미래의 길을 점점 더 좋게 만들어 줄 것이라고 믿습니다.
프로젝트 소스코드를 무료로 받으시려면 ❥ 좋아요를 누르고 블로거에게 비공개 메시지를 보내주세요 감사합니다~