Skip to content

Brook-B-Nigatu/PDFReader

Repository files navigation

PDFReader

Lightweight PDF upload, storage, and viewing app with a .NET 8 REST API backend and a Vite + React frontend.

Quick overview

  • API: PDFReader.API — ASP.NET Core (net8.0) providing endpoints for uploading, downloading and managing PDF files and users.
  • Web: PDFReader.Web — Vite + React app for uploading and viewing PDFs.

Features

  • Upload PDFs (multipart/form-data) and store file metadata in a local database.
  • Download stored PDFs by id.
  • Simple user management endpoints (signup/login/user operations).
  • Local file storage with a FileManagerLocal abstraction (easy to swap out).
  • Global exception handling and repository pattern for data access.

Repo layout

  • PDFReader.API: API project, controllers, EF Core DB context, migrations, file storage.
  • PDFReader.Web: Frontend SPA built with Vite + React.

Prerequisites

  • .NET 8 SDK
  • Node.js 18+ and npm (for the frontend)

Getting started — API

  1. Open a terminal and change to the API folder:
cd PDFReader.API
  1. Restore and build:
dotnet restore
dotnet build

Getting started — Web

  1. From another terminal, change to the web folder:
cd PDFReader.Web
  1. Install and start the dev server:
npm install
npm run dev

Open the dev server URL printed by Vite (usually http://localhost:5173) to use the frontend.

API endpoints (high level)

  • POST /api/pdf/upload — Upload a PDF file (form-data). Returns file metadata and id.
  • GET /api/pdf/download/{id} — Download the PDF by id.
  • POST /api/user/signup and POST /api/user/login — User management (see Controllers/UserController.cs).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors