CatAdoption is a full-stack mobile application designed to facilitate cat adoptions. The project consists of a .NET MAUI mobile application for Android and a backend powered by ASP.NET Web API with Entity Framework Core.
- Login/Register: Users must create an account to access app features.
- Adopt a Cat: Browse available cats and adopt one.
- Favorite Cats: Mark cats as favorites for quick access.
- View Adoptions: Track adopted cats.
- Change Password: Update account credentials.
- Notifications: Real-time alerts via SignalR when:
- Multiple users are viewing the same cat.
- A favorited cat gets adopted.
- Static test data for cats.
- User authentication and management.
- Real-time communication using SignalR.
- Database operations via Repository pattern.
The project is divided into the following components:
- CatAdoption.API: Contains ASP.NET Web API endpoints for user and cat management.
- CatAdoption.EntityFramework: Implements database context and repositories using Entity Framework Core.
- CatAdoption.MAUI: The mobile application built with .NET MAUI and MVVM architecture.
- CatAdoption.Shared: Contains shared data models and utilities.
- .NET MAUI: Cross-platform mobile development.
- MVVM Architecture: Clean separation of concerns.
- ASP.NET Web API: RESTful API for data exchange.
- Entity Framework Core: Database management.
- SignalR: Real-time communication.
- Refit: Simplified API calls in the mobile app.
- .NET 8 SDK
- Visual Studio 2022 or later
- Android emulator or physical device for testing
git clone https://github.com/yourusername/CatAdoption.git
cd CatAdoption
I am using local MSSQL Server, you will need to install it, create a database, change the connection string in appsettings.json to yours and apply migrations
- Navigate to the
CatAdoption.API
directory. - Restore dependencies:
dotnet restore
- Apply migrations:
dotnet ef database update
- Run the API:
dotnet run
- Open the solution in Visual Studio.
- Set the startup project to
CatAdoption.MAUI
. - Deploy the app to an Android emulator or device.
- Register a new account or log in with an existing one.
- Browse all cats or recomended cats.
- Mark cats as favorites or adopt them.
- View your adopted cats and manage your account settings.
- Support for iOS and other platforms.
- Integration with a live database.
- Advanced search and filtering options for cats.
- Enhanced user profiles and preferences.