GithubHelp home page GithubHelp logo

dataesr / works-magnet Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 0.0 3.65 MB

Retrieve the scholarly works of your institution

Home Page: https://works-magnet.dataesr.ovh/

License: MIT License

Dockerfile 0.06% HTML 0.16% JavaScript 85.70% SCSS 3.06% Jupyter Notebook 11.02%
scholarly-communication scholarly-metadata crossref datacite openalex openalexapi open-science-monitor barometre-de-la-science-ouverte

works-magnet's Introduction

Works magnet

Discord Follow license GitHub release (latest SemVer) Production deployment

Retrieve the scholarly works of your institution.

Build for production

The react client app is served by the node server in production.

Install and run app

Run

npm i && npm start

Web App available at http://localhost:5173/ and API at http://localhost:3000/.

Build app

npm run build

Vite build creates a build in /dist folder. This folder has to be moved to the /server folder.

Deployment

The version number follows semver.

To deploy in production, simply run this command from your staging branch :

npm run deploy --level=[patch|minor|major]

โš ๏ธ Obviously, only members of the dataesr organization have rights to push on the repo.

works-magnet's People

Contributors

annelhote avatar ericjeangirard avatar jerem1508 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

works-magnet's Issues

Export bug

On click on "save work to file" i got

image

Option to display only matching affiliations

In the Affiliations tab, option to display only the affiliations that do match one of the criteria, rather than all the affiliations encountered.
(checked by default ?)
And maybe, in the affiliation view, add a column with the number of matching expressions
(ex: if the query is "ecole polytechnique" + "palaiseau" => "ecole polytechnique, route de saclay, palaiseau" has 2 matches

Normalize OpenAlex types of works

Map everything to barometre type
(use an aggregate on bso-publications + bso-datacite indices to gel all possibles values)
e.g article from OpenAlex ==> journal-article

Error 404 on font download

See console errors : downloadable font: download failed (font-family: "Marianne" style:normal weight:700 stretch:100 src index:0): status=2147746065 source: https://dataesr.github.io/fonts/Marianne-Bold.woff2

[optimization] pipeline

  1. Query on the 2 datasources (BSO & OpenAlex)
  2. Merge all the results in the works array
  3. Dedup the works array
  4. Group by affiliations
  5. Sort works between publications and datasets

[optim] Call the range function before querying the multiple datasources

Add direct Datacite API

For now, we use only the BSO ingested data from Datacite.
We could use the direct Datacite API.
Searching in the fields
creators.affiliation.name / contributors.affiliation.name fields
creators.affiliation.affiliationIdentifier / contributors.affiliation.affiliationIdentifier

https://api.datacite.org/dois?affiliation=true&query=creators.affiliation.name:*%22%C3%A9cole%20polytechnique%22*%20OR%20contributors.affiliation.name:*%22%C3%A9cole%20polytechnique%22*%20OR%20contributors.affiliation.affiliationIdentifier:%22https://ror.org/02s376052%22

Performance tests for large institutions

We need to make sure the app experience is fine also for (very) large institutions.
Examples to test:

  • saclay
  • sorbonne
  • inrae
  • cnrs

Clicks on different buttons should be fast enough (ex: select /unselect "filter on matching affiliations")

May depend on #3 !
#2 has to be done before

Add the patents

  • Enable to search on the patents
  • Enable to filter on work type (publications, datasets and / or patents)
  • Enable to search on fields inventors, applicants and localisations

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.