A full-stack application built around the Star Wars API (SWAPI), featuring a modern web application, mobile application, and .NET backend.
The project is currently under active development.
This project provides a unified Star Wars experience across web and mobile platforms. It consists of three main applications:
- Backend API built with .NET 10
- Web application built with Angular 22
- Mobile application built with Flutter
The backend acts as the central layer for the applications and handles communication with SWAPI, application logic, and future backend services.
The backend follows Clean Architecture, with the solution organized into the following layers:
- API: Handles HTTP requests, endpoints, middleware, and communication with client applications.
- Application: Contains application use cases, business workflows, interfaces, and application-specific logic.
- Domain: Contains the core business entities, rules, and domain logic. This layer is independent of external frameworks and infrastructure.
- Infrastructure: Contains implementations for external concerns such as data access, third-party API integrations, and other services.
- .NET 10
- ASP.NET Core Web API
- Clean Architecture
- RESTful APIs
- SWAPI integration
- Angular 22
- TypeScript
- HTML
- CSS
- Flutter
- Dart
The repository is organized into separate applications for the backend, web, and mobile platforms.
StarWars/
│
├── backend/
│ ├── src/
│ │ ├── API/
│ │ │ ├── Properties/
│ │ │ ├── API.http
│ │ │ ├── appsettings.json
│ │ │ ├── appsettings.Development.json
│ │ │ └── Program.cs
│ │ │
│ │ ├── Application/
│ │ ├── Domain/
│ │ └── Infrastructure/
│ │ └── Swapi/
│ │
│ └── test/
│ └── Backend.Tests/
│ └── UnitTest1.cs
│
├── web/ # Coming soon
│ └── ...
│
├── mobile/ # Coming soon
│ └── ...
│
└── README.md
The exact project structure may change as development continues.
The application is currently under development. Planned and implemented features may include:
- Browse Star Wars characters
- View detailed character information
- Explore planets
- Browse Star Wars films
- Explore starships and vehicles
- Search for Star Wars content
- Responsive web experience
- Native cross-platform mobile experience
- Centralized backend API integration with SWAPI
Before running the project locally, make sure you have the following installed:
- .NET 10 SDK
- Node.js
- npm
- Angular CLI
- Flutter SDK
- Dart SDK
- Android Studio or Xcode, depending on your target platform
git clone https://github.com/Merve-1/StarWars
cd StarWarsNavigate to the backend project:
cd backend/APIRestore dependencies:
dotnet restoreRun the application:
dotnet runThe API will start on the configured local development URL.
Coming soon.
Coming soon.
The .NET backend is responsible for handling communication between the client applications and SWAPI.
This approach allows the web and mobile applications to use a consistent backend API rather than directly duplicating integration logic.
API documentation will be available as the backend evolves.
Future documentation may include:
- Available endpoints
- Request parameters
- Response models
- Error responses
- Authentication requirements
Testing is planned across all parts of the application.
dotnet testng testflutter test🚧 Work in Progress
This project is actively being developed. Features, architecture, folder structure, and documentation may change as the project evolves.
Some potential improvements include:
- Authentication and authorization
- User favorites
- Advanced search and filtering
- Caching for SWAPI responses
- Database integration
- Improved error handling
- Automated testing
- CI/CD pipelines
- Docker support
- API versioning
- Improved API documentation
- Dark mode
- Additional Star Wars data and features
This section documents the development process and the reasoning behind the main project changes.
Introduction — Project Overview, Clean Architecture, and Project Startup
Commit Explanation — Add SWAPI Client Integration
Commit Explanation — Move ISwapiClient to Application and Add StarshipDto Mapping
Commit Explanation — Add Starship Endpoints and SWAPI Integration
086d653 — feat: add pre-flight check pipeline using Chain of Responsibility & fix: correct SWAPI JSON property
Built with .NET 10 and SWAPI.
Web and mobile applications are planned for future development.