Project Overview #9
Pinned
PhobiaCide
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Character Information Module:
The Character Information Module serves as a comprehensive tool for retrieving, displaying, and managing detailed information about the user's in-game character in Eve Online. This module encompasses various functions to ensure a seamless experience for users seeking insights into their character's attributes, skills, and related data.
Retrieve Character Information:
1.1 Connect to the Eve Swagger Interface (ESI) for character data.
1.2 Retrieve and parse the JSON response from ESI.
1.3 Extract and store relevant information (e.g., character name, ID, corporation, etc.).
1.4 Gracefully handle errors or lack of permissions.
Display General Character Information:
2.1 Render the character's basic details (name, corporation, alliance, etc.).
2.2 Display security status and faction standing.
Display Attributes, Skills, and Statistics:
3.1 Extract and format attributes (e.g., intelligence, perception, etc.).
3.2 List and categorize skills along with their levels.
3.3 Show various statistics like total skill points, skill points per minute, etc.
Display Training Queue:
4.1 Retrieve the character's skill training queue from ESI.
4.2 Display each skill in the queue with its level, remaining time, and prerequisites.
4.3 Allow for the addition or removal of skills from the queue.
Display Current Skills:
5.1 Retrieve the character's currently trained skills from ESI.
5.2 Display a sorted list of skills with their levels.
5.3 Include information on the progress of each skill.
Display Attributes Information:
6.1 Extract and format attribute details (e.g., base attributes, implants, remapping info).
6.2 Provide visual indicators for remapping cooldowns.
Display Clones Information:
7.1 Retrieve and display details about the character's clones.
7.2 Include information on jump clones, their locations, and implant sets.
Display Implants Information:
8.1 Retrieve and display information about the character's installed implants.
8.2 Include details on the effects and bonuses provided by each implant.
Handle Data Updates:
9.1 Implement a mechanism to refresh character data at regular intervals.
9.2 Allow manual refresh options for the user.
9.3 Ensure data consistency and accuracy.
Error Handling:
10.1 Implement robust error handling for API calls and data retrieval.
10.2 Notify the user of any errors or issues in a user-friendly manner.
10.3 Provide troubleshooting tips if applicable.
Corporation and Alliance Module:
The Corporation and Alliance Module provides functionalities related to fetching and presenting information about the user's corporation and alliance, including member lists, faction details, and standings. It also allows the user to look up a particular Corp or Alliance and check the ZKillBoard API to determine their activity patterns.
Fetch and Present Information:
fetchCorpAndAllianceInfo(userID: string)userID(string): The unique identifier for the user.userIDto authenticate and retrieve the user's character information.Retrieve Member Lists:
getMemberList(corpID: string, allianceID: string)corpID(string): The unique identifier for the corporation.allianceID(string): The unique identifier for the alliance.corpIDandallianceIDto query the ESI for the list of members.Fetch Faction Details:
getFactionDetails(allianceID: string)allianceID(string): The unique identifier for the alliance.allianceIDto fetch information about the alliance's faction.Access User's Standing Data:
getUserStandingData(userID: string)userID(string): The unique identifier for the user.userIDto authenticate and retrieve the user's character information.Lookup Corp or Alliance on ZKillBoard API:
lookupZKillBoardActivity(corpID: string, allianceID: string)corpID(string): The unique identifier for the corporation.allianceID(string): The unique identifier for the alliance.corpIDorallianceIDto identify the target Corp or Alliance.Market Data and Trading Module:
The Market Data and Trading Module focuses on real-time retrieval and display of market data, supporting browsing, searching, and graphing historical market data. It facilitates in-game trading activities, allowing users to create and manage trade orders, and includes a search for NPC buyers of given items.
Real-Time Market Data Retrieval:
1.1 Function:
fetchRealTimeMarketData()Display Market Data:
2.1 Function:
displayMarketData(data: MarketData)Browse Market Data:
3.1 Function:
browseMarketData(category: string)Search Market Data:
4.1 Function:
searchMarketData(query: string)Graph Historical Market Data:
5.1 Function:
graphHistoricalMarketData(data: HistoricalMarketData)Facilitate Trading Activities:
6.1 Function:
initiateTradingAction(action: TradingAction)Create Trade Orders:
7.1 Function:
createTradeOrder(orderDetails: TradeOrderDetails)Manage Trade Orders:
8.1 Function:
manageTradeOrders()8.2 Function:
modifyTradeOrder(orderID: string, modifications: TradeOrderModifications)8.3 Function:
cancelTradeOrder(orderID: string)Search NPC Buyers:
9.1 Function:
searchNPCBuyers(itemID: string)Display NPC Buyer Information:
10.1 Function:
displayNPCBuyerInfo(npcBuyerInfo: NPCBuyerInfo)Integration with Other Modules:
11.1 Function:
linkToFittings(itemID: string)Reusable API Request Function:
12.1 Function:
makeAPIRequest(endpoint: string, method: string, data?: any)Error Handling Function:
13.1 Function:
handleErrors(error: any)Ship Fitting and Simulation Module:
Retrieve User Fittings from ESI:
Save Fitting to ESI:
Edit Fitting in ESI:
Delete Fitting from ESI:
Recommendation Algorithm:
Simulation Engine:
Simulate Status Effects:
Simulate Multiple Scenarios:
Export Simulation Results:
Import Fitting Data:
Validate Fitting:
Adjustable Simulation Parameters:
Chat and Communication Module:
The Chat and Communication Module focuses on implementing an in-app chat system with support for private messages, group chats, corporation/alliance channels, secure P2P chat, and a mail client. The mail client includes features like changing font size, color, in-game links, and a character map of allowed Unicode characters.
Initialize Chat System:
Private Message Handling:
Group Chat Management:
Corporation/Alliance Channel Integration:
Secure P2P Chat Setup:
Mail Client Initialization:
Read and Display Mail:
Write and Send Mail:
In-Game Link Handling:
Font Customization:
Character Map Integration:
Notification Handling:
Notification Module:
The Notification Module manages and displays in-game notifications, providing alerts for events such as skill completion or market changes. It monitors and relays in-game notifications from the ESI, watches for anomalies with adjustable thresholds, and integrates with all other modules.
initNotificationSystem:
displayNotification(notificationData):
alertForSkillCompletion(characterID, skillName):
alertForMarketChanges(itemID, changeType):
relayESINotifications(characterID):
watchForAnomalies(thresholds):
6.1 adjustThresholds(notificationType, newThreshold):
clearNotifications:
markNotificationAsRead(notificationID):
viewNotificationDetails(notificationID):
disableNotificationType(notificationType):
enableNotificationType(notificationType):
checkNotificationHistory(characterID):
autoDismissOldNotifications:
handleNotificationClick(notificationID):
Calendar Module:
The Calendar Module integrates with the in-game calendar system and manages upcoming events, meetings, or deadlines. The following functions outline the key features and interactions within the Calendar Module:
Fetch Calendar Events:
Display Calendar Events:
Create Event:
Edit Event:
Delete Event:
Reminder System:
Sync with Local Calendar:
Event Details View:
Event Participation Management:
Integration with Other Modules:
Event Filtering and Sorting:
Navigation Module:
The Navigation Module facilitates users in navigating through the Eve Online universe. It includes features such as displaying star maps, routes, and system information. The module assists in planning routes, pushing routes to the game client through the ESI, and sharing routes with allies. Additionally, it aids in avoiding or approaching combat zones and Edencom or Triglavian systems.
displayStarMaps:
displaySystemInformation:
planRoute:
pushRouteToGameClient:
shareRouteWithAllies:
avoidCombatZones:
avoidEdencomAndTriglavianSystems:
getSafeRoute:
displayRouteHistory:
adjustRouteBasedOnUserFeedback:
optimizeRouteForQuickTravel:
Mission and PvE Module:
Fetch Available Missions:
Get NPCs for Mission or PvE Site:
Track Mission Progress:
Complete Mission:
Agent Finder:
Retrieve Mission Details:
Provide PvE Site Information:
Calculate Standing Impact:
Filter Missions by Type:
Generate Mission Overview Report:
Handle Mission Rewards:
Evaluate Mission Difficulty:
Implement PvE Site Scanning:
Industry and Manufacturing Module:
The Industry and Manufacturing Module focuses on displaying information about industrial activities, supporting blueprint management, and providing production tracking. It includes various tools such as an ore reprocessing calculator, a mining ledger data viewer, and a blueprint cost estimator.
Display Industrial Information:
Blueprint Management:
Production Tracking:
Ore Reprocessing Calculator:
4.1. Define Input Parameters:
4.2. Perform Reprocessing Calculation:
4.3. Display Results:
Mining Ledger Data Viewer:
5.1. Retrieve Mining Ledger Data:
5.2. Display Mining Ledger Log:
Blueprint Cost Estimator:
6.1. Calculate Production Cost:
6.2. Validate Blueprint and Material Availability:
6.3. Present Cost Estimate:
Check Blueprint Availability:
7.1. Validate Blueprint Inventory:
7.2. Provide Feedback:
Manage Production Queues:
8.1. Queue Production Jobs:
8.2. Prioritize and Rearrange:
Material Requirements Viewer:
9.1. Retrieve Material Requirements:
9.2. Present Material Breakdown:
Market Integration:
10.1. Fetch Market Prices:
10.2. Integrate Market Data:
Notification for Job Completion:
11.1. Setup Notification System:
11.2. Send Job Completion Notification:
Export Production Data:
12.1. Create Exportable Reports:
12.2. Generate Downloadable Report:
Integration with Character Skills:
13.1. Retrieve Character Skills:
13.2. Apply Skill Multipliers:
User Preferences and Settings:
14.1. Implement User Settings Interface:
14.2. Save User Preferences:
Error Handling and Logging:
15.1. Error Handling for Data Retrieval:
15.2. Logging:
Documentation and Help Resources:
16.1. Display In-App Documentation:
16.2. Tooltips and Help Resources:
Settings and Preferences Module:
LoadUserSettings:
SaveUserSettings:
DefaultUserSettings:
ApplyTheme:
ChangeLanguage:
AdjustNotificationSettings:
ToggleDarkMode:
CustomizeKeyBindings:
ManagePrivacySettings:
SetFontSize:
BackupUserSettings:
RestoreUserSettings:
ResetToDefaults:
ExportSettings:
ImportSettings:
Help and Documentation Module:
The Help and Documentation Module offers various functions to provide in-app documentation and help resources, assist users in navigating the app, and manage tooltips with different verbosity levels.
loadDocumentation():
1.1. Retrieves documentation content from a designated source (e.g., markdown files, database).
1.2. Loads the retrieved content into the app for user access.
displayDocumentation(topic: string):
2.1. Takes the topic name as a parameter.
2.2. Retrieves and renders the corresponding documentation for the specified topic.
2.3. Presents the documentation to the user within the app interface.
navigateToHelpSection(section: string):
3.1. Takes the section name as a parameter.
3.2. Scrolls or redirects the user to the relevant part of the documentation based on the provided section.
3.3. Facilitates seamless navigation within the documentation.
showTooltip(element: HTMLElement, tooltipText: string):
4.1. Takes the HTML element and tooltip text as parameters.
4.2. Displays a tooltip when the user hovers over the specified UI element.
4.3. Ensures the tooltip content corresponds to the provided text.
hideTooltip(element: HTMLElement):
5.1. Takes the HTML element as a parameter.
5.2. Hides the tooltip associated with the specified UI element.
5.3. Removes the tooltip when the user moves the cursor away from the element.
setTooltipLevel(level: string):
6.1. Allows users to set the level of tooltips they want (e.g., lots of tooltips, some tooltips, minimal tooltips).
6.2. Adjusts the verbosity of tooltips based on the user's preference.
6.3. Modifies the tooltip behavior according to the selected level.
toggleTooltips():
7.1. Toggles the overall visibility of tooltips in the app.
7.2. Enables or disables tooltips globally based on user preferences.
7.3. Provides users with control over the display of tooltips.
highlightHelpfulFeatures():
8.1. Highlights UI elements or features that are especially helpful for new users.
8.2. Draws attention to key functionalities within the app to assist users in their navigation.
8.3. Enhances the user experience by emphasizing important features.
createUserGuidePDF():
9.1. Compiles the documentation into a PDF format.
9.2. Generates a downloadable PDF version of the user guide for offline reference.
9.3. Ensures the PDF includes comprehensive information from the app documentation.
provideContextualHelp(context: string):
10.1. Takes the context as a parameter.
10.2. Displays relevant tips or information dynamically based on the provided context.
10.3. Assists users with context-specific guidance within the app.
trackUserInteractions():
11.1. Tracks user interactions with the documentation.
11.2. Logs data on which sections users visit more frequently.
11.3. Helps improve the documentation over time by analyzing user engagement.
suggestNextSteps():
12.1. Provides suggestions for the next steps users can take in their app navigation.
12.2. Offers guidance on actions users might want to perform based on their current context.
12.3. Enhances user engagement by assisting with the logical progression through the app.
Beta Was this translation helpful? Give feedback.
All reactions