Giter Site home page Giter Site logo

animangaindex's Introduction

AniMangaIndex

This was a project created for a university databases course and so be aware nothing in this repository is production ready. The purpose of this project is to create a simple service for users to view, create and rate anime, manga, and novels and obtain information about their creators, studios, and licensors. There is some simple login/signup functionality with users able to store their favorite content and look for other content similar (based on genre) to what they have already favorited. Please note: the user information is stored in plain text(including passwords), so please do not use any real information to signup if you plan to install and run this project for yourself. Also, be aware that on initial page load of the index that the local database will be filled with some dummy data, so be patient if it takes longer than normal to respond.

Requirements ( for development )

  • root access to your machine (i.e. don't use library or school computers)
  • ubuntu 16.04
  • python (at least version 3.x)

Installation ( for development )

  1. open up a terminal, cd to the root of the repository (where this README is)
  2. verify your python version
    python3 --version
  3. if the previous command fails:
    sudo apt-get install python3
  4. install the python package manager, pip (give the root password if prompted):
    sudo apt-get install -y python3-pip
  5. install django:
    pip3 install django
  6. move one directory into the repository (the correct destination folder will contain manage.py)
    cd animanga/
  7. build the database
    python3 manage.py makemigrations
    python3 manage.py migrate
  8. run the server locally
    python3 manage.py runserver
  9. open up your favorite browser
  10. go to the following url:
    http://localhost:8000

Features:

  • Login and create new users on index page
  • Login on content page (note: login will return to index (after successful login)
  • Admin privileges for specific users
  • View content
  • View creators
  • Various other queries

Some basic queries and their locations

NOTE: All links are available through the UI at the index, but they are given here for completeness.

Projection query: Users can view all available content or creators at the index page
--> http://localhost:8000/

Selection query: Users can query which anime or manga are of a certain age or younger/older.
--> http://localhost:8000/selection/

Join query: Users can view a list of content and their creators.
--> http://localhost:8000/?indexQuery=Joined

Aggregation query: Users can view how many works a creator has worked on.
--> http://localhost:8000/create/

Users can also view how many creators worked on the same content.
--> http://localhost:8000/contributorcount/

Nested aggregation with group-by: User can finding creators whose age is younger than the average age of all creators.
--> http://127.0.0.1:8000/nested/

Update query: Users can update the rating of anime or manga (Botton labeled "Change Rating"):
--> http://localhost:8000/content/3/
NOTE: Going to the index and then clicking on any of the content titles will go to a similar page to the one listed above, any of which can have their rating changed. The specific link was chosen at random.

Delete query: Admin can delete anime or manga (Button labeled "Delete this content" when logged in as an admin).
--> http://localhost:8000/content/3/
NOTE: The user must be logged in as an admin to delete content. At the top of the index is a login button, and the TA may use the login user "admin" with password "123" both without quotes. Creating a normal user will not allow the TA to delete content. After logging in, the TA may go to a any content page(the above link is a single example of a content page) and at the bottom of the page the button to delete the entry can be found.

Division query: Find creators that worked in every studio.
--> http://localhost:8000/division/

animangaindex's People

Contributors

etonkan91 avatar ultrawide avatar lindajang94 avatar

Watchers

James Cloos avatar Scott Checko avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.