👉博__主👈:米碼收割機
👉技__能👈:C++/Python語言
👉公眾號👈:測試開發自動化【獲取源碼+商業合作】
👉榮__譽👈:阿里云博客專家博主、51CTO技術博主
👉專__注👈:專注主流機器人、人工智能等相關領域的開發、測試技術。
python社交交友平臺系統設計與實現(源碼+數據庫)【獨一無二】
目錄
- python社交交友平臺系統設計與實現(源碼+數據庫)【獨一無二】
- 一、設計要求
- 二、代碼實現
- 2.1 創建數據庫
- 2.2 用戶登錄
- 2.3. 注冊功能
- 2.4. 用戶菜單
- 2.5. 更新資料功能
- 2.6. 管理好友功能
- 2.7. 添加好友功能
- 2.8. 刪除好友功能
- 2.9. 查看好友列表功能
- 2.10. 發布動態功能
- 后面代碼太多了,我就不一 一分析了直接看功能展示吧👇
- 三、功能展示
- 3.1 用戶端
- 3.1.1 用戶登錄
- 3.1.2 用戶注冊
- 3.1.3 更新用戶資料
- 3.1.4 管理好友
- 3.1.4.1 添加好友
- 3.1.4.2 刪除好友
- 3.1.4.3 好友列表
- 3.1.5 發布朋友圈
- 3.1.6 查看并評論
- 3.2 管理員
- 3.2.1 查看所有用戶
- 3.2.2 刪除用戶
- 3.2.3 查看所有動態
- 3.2.4 刪除動態
一、設計要求
基于一門高級語言,搭建一個簡易平臺,所使用的數據庫可以是MySQL或其他合適的數據庫。例如類似以下內容的社交平臺,可基于自己理解做適當變動,也可以自行設計其他應用場景,邏輯自治即可。
用戶端:
- 用戶端用戶可以注冊,初始化用戶id和密碼
- 用戶可以登錄,并修改個人基本信息,如姓名、性別、出生日期、年齡
- 用戶可以搜索、添加、刪除好友,并將好友分組管理
- 用戶可以發表、修改朋友圈(朋友圈有字數限制),記錄朋友圈最后更新時間
- 用戶可以查看好友的朋友圈(包含最后更新時間、其他人的評論),并進行評論用戶可以刪除自己的朋友圈,在刪除時該朋友圈相關評論將被自動同時刪除
管理員端:
- 管理員擁有管理員id和密碼
- 管理員可以登錄,并修改個人基本信息
- 管理員可以注銷某用戶,并刪除系統中所有與用戶有關的信息管理員不可瀏覽用戶的個人基本信息,但可以瀏覽所有朋友圈,進行審核和刪除
基于理論課所學習的數據庫設計相關知識,為你的系統設計合適的表結構、完整性約束、視圖等。包含簡單的事務管理、觸發器等功能,具體內容自行設計為實現的功能建立合理的插入、刪除、修改、查詢代碼邏輯,并為可能出現的代碼報錯提供錯誤處理機制至少實現一種交互方式,可以只實現命令行交互分別創建一位用戶和管理員,并在數據庫中初始化部分數據,便于驗收。
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
二、代碼實現
2.1 創建數據庫
將下面信息更改為數據庫信息,并且保證數據表都已經提前創建好。
import pymysql
import sysconnection = pymysql.connect(host='127.0.0.1',user='root',password='root',db='SocialNetwork',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
執行如下命令,提前把數據庫創建好:
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
CREATE DATABASE SocialNetwork;USE SocialNetwork;-- 用戶表
CREATE TABLE Users (user_id INT AUTO_INCREMENT PRIMARY KEY,# 略....name VARCHAR(50),gender ENUM('M', 'F', 'Other'),birth_date DATE,age INT
);-- 好友關系表
CREATE TABLE Friends (user_id INT,# 略....PRIMARY KEY (user_id, friend_id)
);-- 朋友圈表
CREATE TABLE Moments (moment_id INT AUTO_INCREMENT PRIMARY KEY,# 略....>👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈FOREIGN KEY (user_id) REFERENCES Users(user_id)
);-- 評論表
CREATE TABLE Comments (comment_id INT AUTO_INCREMENT PRIMARY KEY,# 略....FOREIGN KEY (user_id) REFERENCES Users(user_id)
);
2.2 用戶登錄
該函數實現用戶登錄功能,輸入用戶名和密碼后,通過SQL查詢匹配數據庫中的用戶信息。若匹配成功,則根據用戶名判斷是否為管理員,進入相應的菜單;否則,顯示登錄失敗信息并返回主菜單。
def login():username = input("請輸入用戶名: ")password = input("請輸入密碼: ")try:with connection.cursor() as cursor:sql = "SELECT * FROM Users WHERE username = %s AND password = %s"# 略 ....except Exception as e:print(e)
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
這段代碼實現了一個簡單的社交平臺應用,包括用戶和管理員的登錄、注冊、資料更新、好友管理、動態發布與查看、管理員對用戶和動態的管理等功能。以下是對各個模塊的實現思路分析:
2.3. 注冊功能
def register():username = input("請選擇用戶名: ")password = input("請選擇密碼: ")try:with connection.cursor() as cursor:# 略 ....except Exception as e:print("注冊失敗,錯誤: ", e)main_menu()
該函數實現用戶注冊功能,輸入用戶名和密碼后,通過SQL插入操作將新用戶信息保存到數據庫。注冊成功后返回主菜單,否則顯示錯誤信息。
2.4. 用戶菜單
def user_menu(user_id):print("\n======用戶菜單======")print("1. 更新資料")print("2. 管理好友")# 略 ....>👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
該函數實現用戶菜單,提供更新資料、管理好友、發布動態、查看并評論動態、注銷等選項。根據用戶輸入選擇相應的操作。
2.5. 更新資料功能
def update_profile(user_id):print("\n******更新資料******")name = input("請輸入全名: ")# 略 ....
該函數實現更新用戶資料的功能,通過SQL更新操作修改數據庫中的用戶信息。更新成功后返回用戶菜單,否則顯示錯誤信息。
2.6. 管理好友功能
def manage_friends(user_id):print("\n======管理好友======")print("1. 添加好友")print("2. 刪除好友")# 略 ....
該函數實現管理好友的功能,提供添加好友、刪除好友、查看好友列表、返回等選項。根據用戶輸入選擇相應的操作。
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
2.7. 添加好友功能
def add_friend(user_id):friend_name = input("請輸入要添加的好友用戶名: ")group_name = input("請輸入該好友的分組名稱: ")try:with connection.cursor() as cursor:# 略 ....
該函數實現添加好友的功能,通過SQL查詢確定好友用戶ID后,再通過SQL插入操作將好友關系保存到數據庫。操作完成后返回管理好友菜單。
2.8. 刪除好友功能
def remove_friend(user_id):friend_name = input("請輸入要刪除的好友用戶名: ")try:with connection.cursor() as cursor:sql = "SELECT user_id FROM Users WHERE username = %s"cursor.execute(sql, (friend_name,))# 略 ....
該函數實現刪除好友的功能,通過SQL查詢確定好友用戶ID后,再通過SQL刪除操作移除好友關系。操作完成后返回管理好友菜單。
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
2.9. 查看好友列表功能
def list_friends(user_id):try:with connection.cursor() as cursor:sql = "SELECT username FROM Users WHERE user_id IN (SELECT friend_id FROM Friends WHERE user_id = %s)"cursor.execute(sql, (user_id,))results = cursor.fetchall()# 略 ....
該函數實現查看好友列表的功能,通過SQL查詢獲取用戶的所有好友并顯示。操作完成后返回管理好友菜單。
2.10. 發布動態功能
def post_moment(user_id):content = input("請輸入動態內容(最多300字符): ")if len(content) > 300:# 略 ....
該函數實現發布動態的功能,輸入動態內容后,通過SQL插入操作將動態保存到數據庫。發布成功后返回用戶菜單,否則顯示錯誤信息。
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
后面代碼太多了,我就不一 一分析了直接看功能展示吧👇
三、功能展示
3.1 用戶端
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
3.1.1 用戶登錄
3.1.2 用戶注冊
3.1.3 更新用戶資料
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
3.1.4 管理好友
3.1.4.1 添加好友
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
3.1.4.2 刪除好友
3.1.4.3 好友列表
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
3.1.5 發布朋友圈
3.1.6 查看并評論
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
3.2 管理員
3.2.1 查看所有用戶
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
3.2.2 刪除用戶
3.2.3 查看所有動態
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈
3.2.4 刪除動態
👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈