Skip to content

devpp101/textbook-lending-web-app

 
 

Repository files navigation

Textbook-Lending-Web-App

Description: Cataloging and Lending App Project for CS 3240 Software Engineering at the University of Virginia.

Please use a virtual environment. After cloning, run:

  1. cd .\Textbook-Lending-Web-App\
  2. py -m venv .venv
  3. .venv\Scripts\activate (Windows) OR source .venv/bin/activate (MacOS)
  4. pip install -r requirements.txt
  5. python3 manage.py runserver

Note that you automatically connect to the live database, even when running locally. The main branch has Amazon S3 configured, which cannot be accessed locally. Profile Pictures and Item Pictures will not appear locally.

Screenshot 2025-04-29 at 6 40 30 PM

My Contributions

Role: Software Architect

  • Profile System

    • Designed and implemented the Profile model to distinguish between Librarians and Patrons.
  • Collections Feature

    • Built the Collection model, including:
      • A page to view all collections
      • A detailed collection view page
    • Enabled owners and librarians to edit and delete their collections.
    • Enforced rules:
      • Private items cannot be added when creating new collections.
      • Private collections cannot be created if the item already exists in another collection.
    • Implemented a feature for patrons to request access to private collections.
  • Requirements & Documentation

    • Led requirements changes for collections.
    • Authored a comprehensive report documenting changes.
  • Project Management & Debugging

    • Managed unexpected project changes.
    • Completed various debugging tasks.
    • Ensured other requirements-related tasks were properly completed.

Licenses for Major Libraries/Frameworks

Library / Framework License URL
Django BSD-3 Link
django-allauth MIT Link
gunicorn MIT Link
psycopg2-binary LGPL-3.0 Link
whitenoise MIT Link
Pillow HPND Link
django-storages BSD-3-Clause Link
boto3 Apache-2.0 Link
social-auth-app-django BSD-3-Clause Link
celery BSD-3-Clause Link
djangorestframework BSD-3-Clause Link

Licensing Suggestions

Given that our project is a Django-based cataloging and lending application, and considering the licenses of the dependencies (primarily permissive licenses like MIT, BSD, and Apache 2.0), releasing our project under the MIT License would be a suitable choice. The MIT License is widely used, simple, and permissive, allowing others to use, modify, and distribute our code with minimal restrictions.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 51.3%
  • HTML 48.3%
  • Other 0.4%