Mind map
Part 2
Map content
Part 2
Success Criteria
- PC1
- Provide a data-driven web application that utilises APIs to display data to a user
- Connect to a REST API
- Retrieve, process, and display data correctly
- Use modular and efficient code
- Convert JSON to readable formats
- Provide a data-driven web application that utilises APIs to display data to a user
- PC2
- Provide the ability to search for and display information about Star Wars characters.
- Provide a search input field
- Use search parameters in API requests
- Show results in an easy-to-read table format
- Provide the ability to search for and display information about Star Wars characters.
- PC3
- Provide a user-friendly interface that is easy to navigate.
- Implement structured layout
- Clear and accessible navigation
- Label all components clearly
- Provide a user-friendly interface that is easy to navigate.
- PC4
- Handle errors that occur when accessing the API, and communicate these to the user.
- Use correct error-handling logic
- Display clear error messages to the user
- Handle errors that occur when accessing the API, and communicate these to the user.
- SDC1
- Allow users to save data that is relevant to their interests.
- Require secure signup/login
- Include save/remove buttons
- Store saved data using SQL against user IDs
- Allow users to save data that is relevant to their interests.
- PC1
Developer Environment
- Front-end
- HTML
- Provides the structure of each web page / UI
- Defines UI elements/components such as buttons, input fields, containers, and links
- Works with Jinja templating for dynamic data rendering
- CSS
- Styling the visual layout of the UI
- Used for setting the colours, shapes, spacing, sizes, and layout of UI components/elements
- HTML
- Back-end
- Python
- Used as the backend programming language
- Handles API logic, data processing, user authentication and error handling
- Integrates with Flask to serve dynamic content to HTML templates
- SQL
- Used to store and retrieve user-specific data (e.g. saved characters)
- Links records to a user ID to handle multiple users
- Python
- Data Transmission
- SWAPI API
- Open-source REST API that provides Star Wars character data
- Used as the main external data source for the application
- JSON
- Data format used by SWAPI API for deliver information
- All Star Wars data will be stored in JSON files during transmission
- SWAPI API
- Front-end
Key Algorithms
- Signup
- User inputs their Email, Username and Password
- Validate and store the user's input in SQL database
- Output signup confirmation and redirect to login page
- Validate and store the user's input in SQL database
- User inputs their Email, Username and Password
- Login
- User inputs their username and password
- Complete user authentication process: ensure password matches the password stored under username's userid
- Output login confirmation and redirect to explore page
- Complete user authentication process: ensure password matches the password stored under username's userid
- User inputs their username and password
- Display All Characters
- Connect to API
- Call the URL endpoint for all people
- Extract characterid and name for each character and display alongside character image
- Call the URL endpoint for all people
- Connect to API
- Search
- Connect to API
- Programmatically build the URL search parameter for the user's input, and submit to the API alongside URL endpoint
- Extract characterid and name for specific character and display alongside character image
- Programmatically build the URL search parameter for the user's input, and submit to the API alongside URL endpoint
- Connect to API
- Display Character Details
- Connect to API
- Call the URL endpoint for specific character
- Extract and display character properties
- Call the URL endpoint for specific character
- Connect to API
- Save Character
- Retrieve userid in session and requested characterid
- Store characterid against userid in the SQL 'saved' table
- Retrieve userid in session and requested characterid
- Remove Saved Character
- Retrieve userid in session and requested characterid
- Delete the record that holds the requested characterid stored against the userid from the SQL 'saved' table
- Retrieve userid in session and requested characterid
- Signup
User Problem
- User Persona: Jennifer Taylor
- Summary of Needs/Wants
- Check out favourite character details
- This need/want is partially accounted for in Prescribed Criteria 2
- However, to fully meet this need a self-determined criteria was proposed; users should be allowed to save data for their favourite characters and/or other characters relevant to their interests
- This need/want is partially accounted for in Prescribed Criteria 2
- Search for specific characters
- This need/want is already accounted for in Prescribed Criteria 2
- Check out favourite character details
- Summary of Frustrations
- Dislikes Wikis because she wants a readable solution that can work on her phone
- This frustration will be mitigated by Prescribed Criteria 4
- Dislikes Wikis because she wants a readable solution that can work on her phone
- Summary of Needs/Wants
- User Persona: Jennifer Taylor
Constraints/Limitations
- SWAPI API
- Free API so it runs slowly
- Limited Character data
- Only 82 Characters Available
- Does not provide an extensive range of character properties
- e.g. missing alliance to Dark Side or Light Side
- Does not provide character images
- Prototype Restrictions
- Limited Testing
- Certain API errors, such as connection errors, cannot be simulated
- Can only be tested on a local device (prototype is not posted on public domain
- Limited Scope/ Functionalities
- Prototype will only focus on Star Wars characters
- Prototype will not allow users to customise their account details or preference settings
- Limited Testing
- SWAPI API
Information
- Description
- Mind Map on Part 2, created by Ethan Chin on 24/06/2025.
- Created by
- Ethan Chin
- Views
- 11
- Rating