This application provides an interactive user interface for querying and displaying data on People, Films, and Starships from the Star Wars API (SWAPI).
Note: The project may take longer than 60 seconds to load initially, as it utilizes a global data store to manage and pre-load all data from the API.
- Blazor
- ASP.NET Core
- Entity Framework
- API: Contains models and services for interacting with the external API.
- DB: Includes Entity Framework Core models and
DbContext
for in-memory database operations used for search history. - Data: Contains global data access and context classes.
- Pages: Consists of Razor pages that form the user interface.
- Components: Reusable components used within the application.
This feature allows users to search for characters and films, including:
- User input handling.
- Backend service interaction.
- Data filtering.
- Result presentation.
Stores and retrieves search queries from the in-memory database, including:
- Adding a new search entry upon user query submission.
- Retrieval and display of the last 5 search query history to the user.
Aggregates and analyzes data to provide interesting statistics such as:
- Top 7 Tallest People
- Top 7 Heaviest People
- Highest Eye Color Frequency
- Top 7 Expensive Starships
- Start: User accesses the search page.
- Enter Search Query: User types a name into the search bar.
- Select 'People' Option: User selects the 'people' radio button.
- Initiate Search: User presses 'Enter' or clicks the search button.
- Invoke Search Service: The system calls
SwapiPeopleService.GetAllPeopleAsync()
. - Fetch Data: Service retrieves people data from the API.
- Filter Results: System filters the data based on the user's query using
FilterPersonDetailsByName
. - Display Results: Filtered results are shown on the UI.
- End: User views the results.