Skip to content

Nikhil1912/Athenaeum

Repository files navigation

Athenaeum

DOI GitHub issues Repo Size Unit tests codecov

Motivation

Athenaeum is an application dedicated to connecting you with the books you're searching for. Our goal: to search the web and find you the books you seek at a reputable distributor and a good price. Using Athenaeum, you can simplify your journey and minimize your costs as you find the resources you need for class. We specifically aim to target students, but all lovers of books are welcome to partake. We currently have no users.

Current Scope and Future Work

At present, you can add, edit, or delete a book from your local machine. If the book has a link to purchase, the "Buy" button will direct you to the appropriate page. If you search for a book that exists in our database, it will direct you to the appropriate Wikipedia link for that book.

Our web scraper is currently in progress (see \workInProgress for what we have so far), but we intend to integrate it with our current page to allow for a more optimized searching experience that also presents pricing. We also intend to create a "Buy/Sell" user forum, as well as a functional login page.

Running Athenaeum

Currently, to get everything up and running:

Clone the project

  • Install dependencies
    • The easiest way to do this: navigate to \Athenaeum and run pip install -r requirements.txt
    • Node.js includes npm (v. 8.15.0), which is also required
  • To run the backend:
    • Navigate to the backend directory, \Athenaeum\backend

    • Create a new file \Athenaeum\backend\.env and add the secret key in the file:

      • SECRET_KEY = '<secret key>'
    • If running for the first time, run the migrate commands (if confused, review help here)

    • Run python manage.py runserver

    • Navigate to http://localhost:8000/api/books/ To stop the server, hit CTRL+C

  • To run the frontend:
    • Navigate to the frontend directory, \Athenaeum\frontend
    • If running for the first time, run npm ci
    • Run npm start
    • Navigate to http://localhost:3000
    • To leave, hit CTRL+C and then Y
  • Common issues:
    • NOTE: the environment file should be entitled .env, NOT backend.env
    • Ensure that you have run the migrate commands
    • If python doesn't work, try python3

Common Use Cases

  • Searching for a book
    • Visit the search bar and search for a book, which will direct you to the book's Wikipedia page
  • Adding a book
    • Press "Add a book"
    • Fill in all requirements listed
  • Removing a book
    • Press "Delete"
  • Editing a book
    • Press "Edit"
  • Buying a book
    • If the book has a "Buy" button, use that

Governance and Contributors

As an open-source project, we declare our governance model to be a "do-ocracy"; for insight into what that means, checkout this link from Red Hat.

Our current contributors are:

  • M M Abid Naziri
  • Nikhil Mehra
  • Bella Samuelsson
  • Parth Katlana
  • Heidi Reichert

Contributing, Bugs, Feature Requests, Etc.

For more information on contributing, check out CONTRIBUTING.md. To report a bug, request a feature, or communicate with the developers, please contact athenaeum_csc510@outlook.com. If you wish to join our mailing list for updates on our software, please email the aforementioned address and we will add you to our mailing list.

Dependencies

For a list of all dependencies, check out our dependencies graph. All dependencies listed are mandatory.

Funding

This project is not funded and probably never will be.

Screen Shot 2022-10-09 at 7 03 11 PM

Athenaeum

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published