GithubHelp home page GithubHelp logo

nhatduypham1993 / web-phim1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from theobiet/otaku

0.0 0.0 0.0 8.05 MB

o'taku is an application that allows you to find functional streaming links for your favorite anime. This project aims to simplify the tracking of a particular anime. Indeed, when you search for an anime, you will receive a lot of information about it, but also, a list of streaming links available in several languages.

Shell 0.08% JavaScript 83.14% HTML 0.68% PLpgSQL 1.49% SCSS 14.61%

web-phim1's Introduction

Luffy ONE PIECE

๐Ÿ‡ฏ๐Ÿ‡ต oTaku | Anime Search Engine ย ย ย ย ย ย ย 

o'taku is an API that allows you to find workings streaming links for your favorite anime. This project aims to simplify the tracking of a particular anime. Indeed, when you search for an anime, you will receive a lot of information about it (all coming from a database which is updated daily and fed by the MyAnimeList API; I made this choice to decrease the response time) but also, a list of streaming links available in several languages. No more evenings looking for a working streaming link before binge-watching your favorite series!

  • This project is currently under development. ๐Ÿ—๏ธ
  • React application on the frontend. I'm not a designer BUT I did apply myself! After all, nothing is better than watching your favorite anome on an eye-pleasing platform ๐Ÿป
  • Currently, only VF ๐Ÿ‡ซ๐Ÿ‡ท and VOSTFR ๐Ÿ‡ฏ๐Ÿ‡ต are supported and available. Since my API is strictly for personal use, I prefer to focus on adding features to improve my skills while having fun

Development stages ๐Ÿš€

1 - Reflecting on the application's data model

After connecting to the MyAnimeList API, I analysed the data it provided me with in order to think about a viable conceptual data model to store this data efficiently in a PostgreSQL database DCM v1

2 - Creating a script to get a streaming link for the desired anime and its metadata via My Anime List.

This part was one of the most difficult at this stage of the application. The MAX query count of the MyAnimeList API was limited, so it was impossible for me to retrieve all the data from the API to serve my own application with a lower response time since the database would be present locally and indexed correctly. Moreover, the time it took to search for links varied a lot depending on the quantity of data found and the number of episodes in the anime. It was also impossible to retrieve links for more than 30k manga, as only 5% of them would have been useful; plus, seeding the database would have lasted for days. Consequently, I reexamined my way of thinking in order to get the useful information only when necessary. All this is explained in the diagram below. Schema

3 - Rethinking the structure of the database to make it scalable

Following the change of management, the structure of the database had to be slightly rethought in order to enter data only when it has never been searched before, and to serve the already existing data in a smaller response time.

4 - Creating a web application with React, in order to use this API in a simple and playful way

What I mean here is that streaming links and metadata from MAL will be retrieved only when needed, and then inserted into the database. This will then reduce future response time for the same requests. DCM v1

web-phim1's People

Contributors

theobiet avatar badara-seydi avatar imgbotapp avatar dependabot[bot] 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.