System Architecture and Prototyping for a University Resource Sharing Platform
Requirements Overview
The primary objective of this project is to develop a resource-sharing platform named "JuanJuanFu" tailored for Fuzhou University. The platform aims to resolve challenges related to locating study materials, including past examination papers, textbooks, and supplementary resources. By integrating an Artificial Intelligence interface, the system seeks to enhance user experience through intelligent content analysis and personalized assistance.
Prototype Design
Frontend Application Architecture
The application interface is divided into five core modules: Community, Resource Library, AI Assistant, Mall, and User Profile. To ensure system integrity, the backend logic incorporates rigorous security measures, including character entity encoding for inputs, pre-compiled SQL statements, and file upload whitelisting.
Authentication Interface
The login and registration screens emphasize a clean, university-branded aesthetic. Security implementations include client-side encryption for credentials, graphic CAPTCHAs to mitigate brute-force attacks, and standard recovery protocols for forgotten passwords.
Community Module
Serving as the primary hub, the comunity module facilitates peer-to-peer interaction. Key features include:
- Bounties: Users can spend virtual currency ("Fu Coins") to post requests for specific past papers.
- Resource Exchange: Users who fulfill requests are rewarded with virtual currency.
- Q&A: A threaded discussion system for academic inquiries.
- Leaderboard: A ranking system based on contribution activity to incentivize resource sharing.
Resource Library
This repository stores categorized academic assets such as PDFs, slide decks, and exam archives. The system addresses the common issue of missing answer keys by integrating AI-driven analysis directly into the resource viewer.
AI Integration
The AI assistant, "Xiao Fu," provides guided software support and academic tutoring. Its capabilities include:
- Knowledge point extraction and difficulty assessment for exam papers.
- Detailed step-by-step problem resolution.
- Generation of similar practice problems based on specific topics.
- General troubleshooting and user guidance.
User Profile
The personal dashboard manages user data portability and history. Functions include profile modification, publication history, download management, bookmarking, and a "Dark Mode" toggle. The system also includes a localized file manager that automatically categorizes downloaded assets.
Backend Management Architecture
The administrative dashboard includes modules for workflow oversight, advertisement performance metrics, multidimensional data analysis, and content auditing.
Database Security Optimization
- SQL Injection Prevention: The system employs parameterized queries (prepared statements) to separate SQL code from data, ensuring malicious input cannot alter query logic.
- Input Sanitization: User-supplied data undergoes entity encoding to prevent cross-site scripting (XSS) and injection attacks.
- Triggers: Database triggers automatically log data mutations, tracking change timestamps and user actions for audit trails.
- Indexing: High-performance indexes are applied to frequently queried columns to reduce latency, including composite indexes for complex search operations.
High-Level Design (UML)
Use Case Diagram
Authenticated actors (Students) can upload and retrieve assets, interact with the AI model, and manage virtual currency. Administrators hold distinct privileges for content moderation, user management, and platform maintenance.
Class Diagram
The static structure defines relationships where user-uploaded resources require administrative approval before publication. Community posts trigger interaction chains, and the AI module processes approved resources to generate analytical insights.
Behavioral Diagrams
- Activity Diagram: Illustrates the flow from resource upload through AI processing to user consumption.
- Sequence Diagram: Details the lifecycle of a request, involving the client, server, database, and external AI services.
- Collaboration Diagram: Maps the server-side architecture, highlighting how message queues and middleware facilitate communication betwean the AI engine and the client.
Database Schema Design
Entity-Relationship Logic
The data model is centered around the User entity, which links to Communities, Posts, and Assets. The Asset entity represents the learning materials, characterized by metadata such as difficulty and AI-generated summaries. Interactions are normalized through Logs and Comments tables.
Physical Data Model
The following SQL scripts define the relational schema, optimized for the specific requirements of the platform.
1. User Accounts Table
CREATE TABLE user_accounts (
user_id INT AUTO_INCREMENT PRIMARY KEY,
display_name VARCHAR(64) NOT NULL,
credential_hash VARCHAR(255) NOT NULL,
account_type ENUM('student', 'admin') DEFAULT 'student',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
This table stores authentication credentials and role definitions. The credential\_hash ensures secure storage of passwords.
2. Learning Assets Table
CREATE TABLE learning_assets (
asset_id INT AUTO_INCREMENT PRIMARY KEY,
file_title VARCHAR(128) NOT NULL,
category VARCHAR(50) NOT NULL,
uploader_id INT NOT NULL,
repository_id INT NOT NULL,
content_desc TEXT,
audit_status ENUM('pending', 'approved', 'rejected') DEFAULT 'pending',
FOREIGN KEY (uploader_id) REFERENCES user_accounts(user_id)
);
Core entity for study materials. It includes an audit\_status field to enforce the moderation workflow.
3. Repositories Table
CREATE TABLE repositories (
repo_id INT AUTO_INCREMENT PRIMARY KEY,
repo_name VARCHAR(128) NOT NULL,
repo_details TEXT,
maintainer_id INT NOT NULL,
FOREIGN KEY (maintainer_id) REFERENCES user_accounts(user_id)
);
Defines collections or categories of assets, managed by specific users.
4. Interaction Logs Table
CREATE TABLE interaction_logs (
log_id INT AUTO_INCREMENT PRIMARY KEY,
target_asset_id INT NOT NULL,
actor_id INT NOT NULL,
action_type VARCHAR(50) NOT NULL,
performed_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (target_asset_id) REFERENCES learning_assets(asset_id),
FOREIGN KEY (actor_id) REFERENCES user_accounts(user_id)
);
Tracks user behaviors such as downloads, views, and shares to facilitate analytics and gamification.
5. Discussion Threads Table
CREATE TABLE discussion_threads (
thread_id INT AUTO_INCREMENT PRIMARY KEY,
author_id INT NOT NULL,
headline VARCHAR(200) NOT NULL,
body_content TEXT NOT NULL,
posted_at DATETIME DEFAULT CURRENT_TIMESTAMP,
group_id INT NOT NULL,
FOREIGN KEY (author_id) REFERENCES user_accounts(user_id)
);
Stores community posts. The group\_id links the thread to specific academic or social categories.
6. Comments Table
CREATE TABLE thread_comments (
comment_id INT AUTO_INCREMENT PRIMARY KEY,
linked_asset_id INT,
linked_thread_id INT,
author_id INT NOT NULL,
comment_body TEXT NOT NULL,
posted_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (author_id) REFERENCES user_accounts(user_id)
);
Handles replies to both threads and specific assets, supporting flexible feedback mechanisms.
7. Leaderboard Table
CREATE TABLE leaderboard (
entry_id INT AUTO_INCREMENT PRIMARY KEY,
profile_id INT NOT NULL UNIQUE,
points_accumulated INT DEFAULT 0,
current_rank INT,
last_rank_update DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (profile_id) REFERENCES user_accounts(user_id)
);
Denormalized table for quick access to user rankings, updated periodically based on contribution points.
Project Implementation Plan
Development Phases
The project lifecycle is structured into distinct sprints to ensure timely delivery.
- Phase 1 (Requirements & Analysis): Gathering functional specifications and defining system boundaries.
- Phase 2 (Design & Prototyping): Developing UI/UX mockups and finalizing the database schema and API contracts.
- Phase 3 (Core Development): Implementing frontend interfaces and backend logic for authentication and file management.
- Phase 4 (Integration): Connecting frontend with the API, integrating the AI model, and establishing the data pipeline.
- Phase 5 (Testing & QA): Comprehensive system testing, security auditing, and performance optimization.
- Phase 6 (Deployment & Feedback):) Production release, user acceptance testing, and iterative refinement based on feedback.
Collaboration Tools
The team utilizes distributed version control (Git) for code management and cloud-based documentation platforms to synchronize requirements and design documents in real-time. Communication channels are established for continuous progress tracking and peer review.