Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesnet214 authored Aug 3, 2024
1 parent b6c411d commit 6d8a6b4
Showing 1 changed file with 93 additions and 22 deletions.
115 changes: 93 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,103 @@
# Premier League
This repository is a sample app implemented by MAUI.
# Premier League MAUI App [![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md) [![한국어](https://img.shields.io/badge/Language-한국어-red.svg)](README.ko.md)

### Specifications
- Microsoft .NET 6 Core
- MacOS (MacbookPro 14 M1)
- Visual Studio 2022 for Mac
- iPhone X (Test Device)
A cross-platform Premier League app implemented with .NET MAUI for learning purposes

___Important___
- MVVM (pure)
- Built in Theme
- TabBar
- CollectionView
- DataTemplate
- Geometry
- .svg resource
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![.NET](https://img.shields.io/badge/.NET-8.0-blue.svg)](https://dotnet.microsoft.com/download)
[![Stars](https://img.shields.io/github/stars/jamesnet214/maui-premierleague.svg)](https://github.com/jamesnet214/maui-premierleague/stargazers)
[![Issues](https://img.shields.io/github/issues/jamesnet214/maui-premierleague.svg)](https://github.com/jamesnet214/maui-premierleague/issues)

## Screenshot
___Tables___
## Project Overview

<img width="400" alt="스크린샷 2022-09-29 오후 7 11 11" src="https://user-images.githubusercontent.com/52397976/193004770-75654ac4-ab56-4f4d-bd63-416110b94b18.png">
This Premier League app is a learning-focused project implemented using .NET MAUI (Multi-platform App UI). It serves as an excellent example for developers, especially those transitioning from WPF to cross-platform development, to understand the similarities and differences between MAUI and WPF.

------
<img width="400" alt="Tables" src="https://user-images.githubusercontent.com/52397976/193004770-75654ac4-ab56-4f4d-bd63-416110b94b18.png"> <img width="400" alt="Results" src="https://user-images.githubusercontent.com/52397976/193004945-4a76f3e2-3583-47e7-aef3-3dc10a265d3e.png">

___Results___
## Key Technologies and Implementations

<img width="400" alt="스크린샷 2022-09-29 오후 7 11 11" src="https://user-images.githubusercontent.com/52397976/193004945-4a76f3e2-3583-47e7-aef3-3dc10a265d3e.png">
#### 1. MVVM Architecture
- [x] Pure MVVM implementation without third-party frameworks
- [x] Proper use of data binding and commands

## Video
#### 2. UI Components and Styling
- [x] TabBar implementation for navigation
- [x] Use of CollectionView for efficient list rendering
- [x] Custom DataTemplates for flexible UI design
- [x] Implementation of built-in themes

#### 3. Cross-Platform Design
- [x] Responsive layouts for various screen sizes
- [x] Platform-specific adaptations where necessary

#### 4. Resource Management
- [x] Utilization of .svg resources for scalable graphics
- [x] Implementation of Geometry for custom shapes

#### 5. MAUI-specific Features
- [x] Exploration of MAUI-specific controls and APIs
- [x] Demonstration of platform invoke (P/Invoke) for native functionality

## Technology Stack
- .NET 8.0
- .NET MAUI
- C# 10.0
- MVVM (Model-View-ViewModel) pattern

## Getting Started

### Prerequisites
- Visual Studio 2022 or later (for Windows)
- JetBrains Rider (for Windows or macOS)
- .NET 8.0 SDK
- MAUI workload installed

### Installation and Execution
#### 1. Clone the repository:

```
git clone https://github.com/jamesnet214/maui-premierleague.git
```

#### 2. Open the solution
- [x] Visual Studio (Windows only)
- [x] JetBrains Rider (Windows and macOS)

#### 3. Build and Run
- [x] Windows 11
- [x] macOS
- [x] iOS (via simulator or physical device)
- [x] Android (via emulator or physical device)

## Learning Points for WPF Developers

1. **Familiar XAML**: MAUI uses XAML, making it easier for WPF developers to transition.
2. **Cross-Platform Considerations**: Learn how to design UIs that work across different platforms.
3. **Mobile-First Approach**: Understand the shift from desktop-centric to mobile-first design.
4. **Performance Optimization**: Explore techniques for optimizing app performance on mobile devices.
5. **Platform-Specific Features**: Learn how to implement platform-specific features while maintaining a shared codebase.

## Project Structure

- **Views**: Contains XAML pages and user controls
- **ViewModels**: Implements the presentation logic
- **Models**: Defines data models and business logic
- **Services**: Includes data access and other services
- **Resources**: Stores shared resources like styles and images

## Contributing

If you'd like to contribute to improving the project, please send a Pull Request. All forms of contribution are welcome!

## License

This project is distributed under the MIT license. For more details, please refer to the [LICENSE](https://github.com/jamesnet214/maui-premierleague/blob/main/LICENSE) file.

## Contact
- Website: https://jamesnet.dev
- Email: [email protected], [email protected]

Explore the world of cross-platform development with MAUI through this Premier League app!

## Additional Resources

[.NET Conf 2022.09 by .NET Dev](https://www.youtube.com/watch?v=Z6Z3qgHYaOg&t=16427s)

0 comments on commit 6d8a6b4

Please sign in to comment.