Giter Club home page Giter Club logo

simple-references's Introduction

simple-references's People

Contributors

fmammoli avatar

Watchers

 avatar  avatar

simple-references's Issues

Better text search

Current free form text search uses the crossRef API but the results are not that good. The search seems to assume that all the query is related to the title of the article and not related to year or author name. Maybe there is a better what to query the crossRef API.

Here is the crossRef API documentation: crossRef API Documentation.

Use Google Scholar to search for bibliography based on free form search

I am currently using the CrossRef API to search for bibliography, but the answers are not very good. It would be interesting to test the google scholar API. The main objective is to just get better matches than the crossRef.

A nice approach would be to have the two options at first, an input that searches at the CrossRef and one that searches at the Google Scholar api.

Not sure how hard it is to implement this, but it shouldn't be too hard.

Google scholar API: google scholar api

Get metadata based on ISBN

Currently, it only works for journal-articles, but books are important too.
I can simply mirror the implementation of the articles parts to make the book part. I just need to find a good Metadata API for academic books.

Found these that maybe can help: isbntools

GET formatted DOI from content negotiation.

When using content negotiation to resolve DOI metadata, you can as for the response to be a string already formatted in a specific style.

To get an ABNT formatted reference, you just need to pass some additional header.

Is it better than getting the object and formatting myself? I don't know. It might be interesting to check, for both performance and practicality.

Best reference is here: DOI content negotiation

Refactor custom Hooks - early return conditions

It seems I usually have a conditional check inside the useEffect hooks.
This usually happens in situations of fechting data.

React.useEffect(() => {
    if (!foo) return;
    //do whatever.
},[foo])

This seems to be an antipattern in custom hooks, since the return of the useEffect should be a cleaning function.
How to return early then? That is a good question.

Maybe what I should do is transport the checking to conditional rendering.
There are a lot of undefined checking in the useEffect stack, maybe I don't actually need them.

Maybe I should go back to making fetch imperatively.

Add cache to the fetch Hook, maybe add axis and swr

It might be good to add a cache layer to the fetch services. To stop flooding the crossRef API unnecessarily and to get faster response.

Maybe change from fetch to axios and swr. This shouldn't be very hard to do if we keep the interfaces without any change.

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.