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.
- 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)
- 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.
.
├── .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
- Python 3.7
- NPM
- Clone the repository.
- Install
pipenv:pip install pipenv
- Set up Python environment:
Navigate to the project root directory and activate the virtual environment:
This will install Python dependencies defined in
pipenv shell
Pipfile. - Download external ML files:
- Download
SVD.joblibfrom this link and place it inAtheneum/prediction/mlmodel/. - Download
book_summaries1.csvand place it inAtheneum/prediction/Data/.
- Download
- Set up Frontend:
Navigate to the frontend directory and install Node.js dependencies:
cd Atheneum/frontend/ npm install - Build Frontend:
npm run build
- Run Django Development Server:
Navigate back to the project root directory (
Atheneum/) and start the server:python manage.py runserver
This project utilizes Material UI for a consistent and modern user interface, enhancing the user experience for library management tasks and exploring book recommendations.