Skip to content

shareqahmed/ui-starwars-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

UI for Star Wars API

Introduction

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.

Technology Stack

  • Blazor
  • ASP.NET Core
  • Entity Framework

Project Structure

  • 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.

People Search Feature

This feature allows users to search for characters and films, including:

  • User input handling.
  • Backend service interaction.
  • Data filtering.
  • Result presentation.

History Feature

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.

Statistics Feature

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

Search Workflow Description

  • 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published