Python Flask 网站开发 - Assignment
本订单的内容是设计并实现一个基于Flask的网站,允许用户展示和搜索游戏。
Non-Functional Requirements
1. Project Structure and Conformance
• Conformance to established project structure as discussed in the lectures.
• Ensure vital documentation, like ‘requirements.txt’ and ‘README.md’, is present.
• The application should run by typing ‘flask run’, from within the virtual environment in a terminal window.
• The tests should run by typing ‘python –m pytest –v tests’, from within the virtual environment in a terminal window.
• If the application doesn’t run properly, the remaining steps will NOT be marked.
2. Use of Blueprints
• Register blueprints to segregate the application's components. For example: home, games, genres, search etc.
• Each blueprint should encapsulate a distinct set of functionalities adhering to the principle of Single Responsibility.
3. User Interface & Design
• Implement CSS for a visually captivating application.
• Utilize Jinja templates to ensure a consistent appearance across pages while minimizing repetitive code.
4. Flask Routes and HTTP Protocol
• Clearly define routes/URLs for different functionalities (e.g., /games, /genres, or /search etc.)
• Ensure that the application uses the appropriate HTTP methods, query parameters, response codes etc.
5. Abstract Repository Interface
• This interface should define the necessary methods for fetching, storing, and manipulating data about games.
• For this assignment, you’ll be using a memory repository as the data storage mechanism.
Functional Requirements
Task 1: Create a Homepage
• Construct a basic homepage for the web application. You could include a logo, a navigation menu, a brief introductory statement about your website, a search bar etc. Task 2: Browsing the Game Library [4 marks]
Task 2: Browsing the Game Library
• Display a list of available games organized in a user-friendly manner (say in an alphabetical order, or based on release date etc.)
• Implement pagination. Define a maximum number of games displayed per page and enable navigation between pages.
Task3: Display Details of a Specific Game
• Upon selecting a game, provide comprehensive information about it. This might include its title, description, publisher, image, release date, user ratings/reviews, associated genres, and more.
Task4: Implement a Genre-based Sidebar
• Extract and display a list of unique game genres from the dataset in the sidebar.
• Users should be able to select or click on a genre to filter and view games associated with that genre.
Task5: Implement Game Search Functionality
• Implement a search bar allowing users to search for games based on game title, publisher, or other attributes.
• Integrate dropdowns or selection opDons for users to choose genres, publishers, or other filtering criteria.
咨询 Alpha 小助手,获取更多课业帮助。