Skip to content

Full stack cat adoption mobile app with .NET MAUI + Asp.Net Core Web API + SignalR + Entity Framework Core

Notifications You must be signed in to change notification settings

jv813yh/CatAdoptionMobileApp

Repository files navigation

CatAdoption

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.

Features

Mobile Application

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

Backend

  • Static test data for cats.
  • User authentication and management.
  • Real-time communication using SignalR.
  • Database operations via Repository pattern.

Project Structure

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.

Technologies Used

Frontend

  • .NET MAUI: Cross-platform mobile development.
  • MVVM Architecture: Clean separation of concerns.

Backend

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

Prerequisites

  • .NET 8 SDK
  • Visual Studio 2022 or later
  • Android emulator or physical device for testing

Getting Started

Clone the Repository

git clone https://github.com/yourusername/CatAdoption.git
cd CatAdoption

Backend Setup

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

  1. Navigate to the CatAdoption.API directory.
  2. Restore dependencies:
    dotnet restore
  3. Apply migrations:
    dotnet ef database update
  4. Run the API:
    dotnet run

Mobile Application Setup

  1. Open the solution in Visual Studio.
  2. Set the startup project to CatAdoption.MAUI.
  3. Deploy the app to an Android emulator or device.

Usage

  1. Register a new account or log in with an existing one.
  2. Browse all cats or recomended cats.
  3. Mark cats as favorites or adopt them.
  4. View your adopted cats and manage your account settings.

Future Improvements

  • Support for iOS and other platforms.
  • Integration with a live database.
  • Advanced search and filtering options for cats.
  • Enhanced user profiles and preferences.

About

Full stack cat adoption mobile app with .NET MAUI + Asp.Net Core Web API + SignalR + Entity Framework Core

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages