E-Book Reader App Development (.NET MAUI(C#) + ASP.NET Core(C#))

Job ID: 40156815

Budget: $51 – $52 USD

Overview
Develop an e-book reader app similar to Google Books.
• Frontend: .NET MAUI (C# / .NET 10)
• Backend: ASP.NET Core (C# / .NET 10) + PostgreSQL (Entity Framework Core)
• No mock-ups; backend must be fully implemented
• The app must run locally for both frontend and backend for testing
Features
1. Book Search
-Users select a language from a dropdown (e.g., "English", "日本語", "español")
-Enter keywords and click the search button
-Display search results in a list
2. Book Download
-Offline reading support
3. Built-in Reader
-EPUB/PDF support
-Page navigation, font size adjustment, dark mode, reading progress saving
4. No Login / Device Identification (Device UUID)
-Assign a unique UUID to each device to manage favorites and reading progress
-iOS / MacCatalyst / macOS / tvOS: Stored in Keychain. Generated if not present. May persist after uninstall
-Android: Uses ANDROID_ID (optionally generate UUID in SecureStorage for consistency)
-Windows / Other: Stored in SecureStorage. Reinstall generates a new UUID
-UUID is not authentication; do not use for sensitive operations
-API calls include DeviceUuid as a parameter to manage device-specific data
________________________________________
Project Structure
• EBooks.MAUI — Frontend (.NET MAUI / C#)
• EBooks.Api — Backend (ASP.NET Core / C#) + PostgreSQL + EF Core
• EBooks.Shared — Shared model classes for frontend and backend
-Database schema should match these classes
-Frontend should deserialize API JSON into these classes
Data Flow
EBooks.MAUI → ApiService → JSON → EBooks.Api → Controllers → EF Core → PostgreSQL
• Static media (including e-books) served from EBooks.Api/wwwroot/, fetched, played, and cached by MAUI
________________________________________
Development Environment
• Three projects in a single .sln file
• Opening .sln should allow immediate build and run
• EBooks.MAUI target frameworks: net10.0-android; net10.0-ios; net10.0-maccatalyst; net10.0-windows10.0.19041.0
• EBooks.Api target framework: net10.0
• PostgreSQL version should be fixed by the operator (recommended: postgres:15 or postgres:16)
________________________________________
Screen Layout
1. Home / Discover
-Display featured and new books by language (Google Play Books style)
2. Search
-Language dropdown + keyword input + search button
-Display search results
3. Book Detail
-Title, author, description, language, cover image
-Buttons: "Download" and "Add to Favorites"
4. Library / Favorites
-List of downloaded or favorited books stored locally
5. Reader
-EPUB/PDF reader
-Page navigation, font size adjustment, dark mode, reading progress saving
________________________________________
Delivery Requirements
• .sln must build and run locally
• PostgreSQL must be set up with a fixed version
• Minimum testing: search, download, reading, progress saving