Giter Site home page Giter Site logo

ual-re / rem Goto Github PK

View Code? Open in Web Editor NEW
3.0 5.0 1.0 179 KB

A Python web UI built on FastAPI to gather metadata to construct a README

License: MIT License

Python 65.85% HTML 28.59% CSS 4.30% JavaScript 1.26%
fastapi python3 readme webapp metadata figshare

rem's Introduction

About Us

Research Engagement (RE) helps UA faculty, researchers, and students with every stage of their research. We have three functional units:

  1. Research Incubator
  2. Data Cooperative
  3. Scholarly Communications

Members of the Data Cooperative:

GitHub Name Role/Title
Jeff Oliver Jeff Oliver Data Science Specialist
Fernando Rios Fernando Rios Data Management Specialist
Kiri Carini Kiri Carini GIS Specialist
Jonathan Ratliff Jonathan Ratliff Research Data Repository Assistant

Experience

Specialty Tools/Resources
Data Science R langPython Software Carpentry
Data Management & Publishing Data Management (DMPTool)Open Science FrameworkFigshare
GIS GISESRI

rem's People

Contributors

astrochun avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

astrochun

rem's Issues

Refactor with ldcoolp-figshare

We packaged figshare curation API as ldcoolp-figshare. Let's now refactor our Figshare calls to simplify the code.

For this to work, we need to use v0.3.0 of ldcoolp-figshare

Feature: Work with Figshare curation metadata instead of published metadata

Currently we are using the metadata from published Figshare datasets. We now need to use the curation metadata to enable working with pending dataset that are under review.This will require handling with the Figshare API token.

Action items:

  • Adjust figshare methods for required curation_id input
    • Add api_key and stage_api_key variable
    • Update unit tests
  • Adjust intake_form for required curation_id input
    • Add curation_id to IntakeData
    • Update unit tests
  • Add API tokens for Figshare (production and stage)
    • Add conftest.py to ensure parsing of tokens
    • Add configure_api() function in main.py for simplicity
    • Add settings_templates.json for production deployment
  • Allow curation_id to be an optional field
  • Adjust database search to use curation_id when available. Otherwise use previous results

Add form module to intake of metadata

A primary form module is needed to:

  • [x] Populate a page with Figshare metadata from the figshare:metadata_get endpoint
  • Ask respondents to fill in information
  • Upon submission that is stored in a database (perhaps NoSQL)
  • The endpoint will have input of article_id and curation_id to store it in the database
    • article_id
    • curation_id

Note: curation_id will be later given complexity with external API token auth

Module to retrieve Figshare metadata for public deposit (no token)

A figshare module is needed to retrieve Figshare metadata from its API. Allows for GET method with an input of the article_id and optional input of stage.

Responses should contain the metadata reduced to what we need for the README form. This includes:

  1. Article ID
  2. Title
  3. Description
  4. DOI
  5. Preferred citation
  6. License
  7. References
  • API route to get Figshare article data, figshare_get
  • API route to extract only metadata for README form, metadata_get
  • Function to output only metadata for README form, figshare_metadata_readme
  • main.py for unicorn run
  • pytest and coverage configuration files
  • unit testing of figshare module

In addition:

  • GitHub actions python CI build and testing

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.