Skip to content
 
 

Latest commit

 

History

127 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atheneum

Overview

Atheneum is an interactive library management system designed to streamline library operations and provide personalized book recommendations. It features a robust Django backend for managing library data, users, and an integrated machine learning model for book suggestions. The frontend is built with React and styled using Material UI, offering a clean and responsive user interface for managing library resources and user interactions.

Tech Stack

  • Backend: Python, Django (v3.1), Django REST Framework, Pandas, Scikit-learn, Joblib, Gunicorn
  • Frontend: JavaScript, React, Redux, React Router DOM, Axios, Material UI
  • Database: SQLite (for development), PostgreSQL (implied)

Features

  • User Authentication: Secure user registration, login, and password management.
  • Library Management: Functionality for tracking book inventory, issuing, and returning books.
  • Book Recommendations: An integrated machine learning model (IRISRandomForestClassifier.joblib) provides personalized book recommendations.
  • Subscription/Club Management: Components suggest features for managing user subscriptions or club memberships.

Project Structure

.
├── .gitattributes
├── .gitignore
├── Pipfile
├── Pipfile.lock
├── README.md
├── Atheneum/
│   ├── db.sqlite3
│   ├── manage.py
│   ├── frontend/             # React frontend application
│   │   ├── package.json
│   │   └── src/
│   │       ├── App.js
│   │       ├── index.js
│   │       ├── Action/
│   │       ├── components/
│   │       ├── layouts/
│   │       └── Reducer/
│   ├── library/              # Django app for library operations
│   │   ├── models.py
│   │   └── views.py
│   ├── mainapp/              # Django project settings and core
│   │   ├── settings.py
│   │   └── urls.py
│   ├── prediction/           # Django app for ML model integration
│   │   ├── models.py
│   │   ├── views.py
│   │   └── mlmodel/          # ML model files
│   └── users/                # Django app for user management
│       ├── models.py
│       ├── views.py
│       └── serializers.py
└── Extras/                   # Auxiliary project files

Getting Started

Prerequisites

  • Python 3.7
  • NPM

Local Setup

  1. Clone the repository.
  2. Install pipenv:
    pip install pipenv
  3. Set up Python environment: Navigate to the project root directory and activate the virtual environment:
    pipenv shell
    This will install Python dependencies defined in Pipfile.
  4. Download external ML files:
    • Download SVD.joblib from this link and place it in Atheneum/prediction/mlmodel/.
    • Download book_summaries1.csv and place it in Atheneum/prediction/Data/.
  5. Set up Frontend: Navigate to the frontend directory and install Node.js dependencies:
    cd Atheneum/frontend/
    npm install
  6. Build Frontend:
    npm run build
  7. Run Django Development Server: Navigate back to the project root directory (Atheneum/) and start the server:
    python manage.py runserver

Additional Info

This project utilizes Material UI for a consistent and modern user interface, enhancing the user experience for library management tasks and exploring book recommendations.

About

Atheneum Is A Book Recommendation Platform developed as Minor Project for sophomore year by Himanshu, Sagar, Karan, Tushar lead by Piyush

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages