Skip to content

iNoles/BookTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BookTracker – Full-Stack Web Application

Vue.js TypeScript TailwindCSS .NET SQLite

BookTracker is a full-stack web application for managing a personal book collection. It demonstrates end-to-end development, including backend API design, database integration, and frontend UI implementation.

Technologies Used

  • Backend: ASP.NET Core Web API, Entity Framework Core, SQLite
  • Frontend: Vue 3, TypeScript, Tailwind CSS
  • Testing: xUnit (backend unit tests)
  • Tools: Git, GitHub, Visual Studio Code

Features

  • Full CRUD functionality: Add, view, edit, and delete books
  • Persistent storage: Data stored in SQLite database via Entity Framework Core
  • Responsive UI: Dynamic frontend built with Vue and Tailwind
  • API integration: Frontend communicates with backend via RESTful endpoints
  • Automated testing: Unit tests validate backend logic and data integrity

Key Skills Demonstrated

  • Full-stack development and end-to-end application design
  • Designing and implementing RESTful APIs
  • Database modeling and querying with Entity Framework Core
  • Frontend state management and dynamic rendering with Vue 3
  • Writing maintainable, testable code using professional practices

Screenshots

Backend

Backend

Main Book Grid

Book Grid

Edit Book

Edit Book

Getting Started

Frontend

# Navigate to frontend folder
cd frontend

# Install dependencies
bun install

# Build
bun run build

Backend

# Navigate to backend folder
cd backend

# Restore .NET packages
dotnet restore

# Apply EF Core migrations
dotnet ef database update

# Run backend API
dotnet run

Default API URL: https://localhost:5001/api/books

Visit http://localhost:5173 (or your terminal output) to see the app.

API Endpoints

The application exposes REST API endpoints:

The application exposes REST API endpoints:

  • GET /api/books - Get all book items
  • GET /api/books/{id} - Get book item by ID
  • POST /api/books - Create new book item
  • PUT /api/books/{id} - Update book item
  • DELETE /api/books/{id} - Delete book item

Demonstration of Professional Practices

  • Structured development using Git branches and commits
  • Documentation of setup, usage, and architecture
  • Separation of frontend and backend concerns, reflecting real-world full-stack projects
  • Implementation of automated unit tests for backend endpoints

Notes

  • Commit EF Core migration scripts but do not commit the SQLite database file
  • The database will be automatically created with seeded data on the first run

About

Full Stack Web Based Book Management application with ASP.NET Core, Vue.js, EF Core and SQLite

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Contributors