Code Monkey home page Code Monkey logo

digitallinguistics / app Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 10.95 MB

The Lotus web app for managing linguistic data

Home Page: https://app.digitallinguistics.io

License: MIT License

JavaScript 72.91% Less 17.54% Handlebars 9.47% CSS 0.09%
corpora corpus corpus-linguistics descriptive-linguistics digital-humanities digital-linguistics dlx documentary-linguistics language language-description language-documentation languages lexicography lexicon linguistics

app's Introduction

DLx Organization Profile

This repository contains the code for the Digital Linguistics (DLx) profile page.

app's People

Contributors

dependabot[bot] avatar dwhieb avatar tongj05 avatar vadekh avatar

Stargazers

 avatar  avatar

Watchers

 avatar

app's Issues

set up Cypress

Set up Cypress with a single initial test, which loads the page.

  • test that the page loads
  • run tests during deployment workflow
  • run tests on PRs
  • run tests during release workflow

add Zenodo badge to readme

  • contact Zenodo about reenabling repo
  • set up Zenodo
  • add badge to readme
  • add Zenodo DOI to attribution in readme

example tracking

Describe the solution you'd like
It would be great if the user could keep track of which utterances have been used as examples in various publications, with a counter they increment each time they use it.

create notification system

Create a notification system that allows dismissable messages. Notifications should persist until dismissed.

add Home page

Add a Home page. The Home page should be contained within the app shell by default, and be shown when the page loads.

lazily cache all app files when app loads

  • Cache all assets for the app when the service worker installs.
  • Fetch a generated JSON file of assets to cache.

Lifecycle

  • install: This is typically where you cache files.
  • activate: This is typically where you clean up the cache. Skip waiting when you're done.
  • fetch: Return response from cache, falling back to network. Cache the network response.
  • You don't need to do an immediate claim during activation. This only matters on the very first load.

Resources

app banner

Add an app banner at the top of the page.

add ARIA live region for announcements

  • add an ARIA live region in the HTML
  • add an announce() method to App

We can't test this for now, but we should remember to test that the text content of the ARIA live region updates on page changes later (assuming this is possible with Cypress; it might not be because the ARIA live region is hidden).

Existing Code

Resources

clear issues from old repo

Clear out issues from old repo, creating new issues in this one as you go.

  • deleted issues
  • open issues
  • project cards

add favicon

Add a favicon. It should adjust its color based on the background.

create Page view

Create a Page view, which is an instance of the View class, but which renders by finding its element on instantiation.

add Coming Soon placeholder

Render the Home page with a Coming Soon! placeholder.

The text to use is below. The "Coming soon!" can be an <h2> (since the "Lotus" title is the <h1>), and the rest can be in several <p> tags. For now, don't add any stylesheet for this - just use the default browser styles.


Coming soon!

The Lotus app is a tool for linguists to manage their linguistic data, including lexicons, texts, and cognate sets. Keep checking back for updates!

Learn more about the Digital Linguistics project here!

Follow Digital Linguistics on Twitter!

set dateModified on database objects

All database objects should have a dateModified property. If the Model class is instantiated without a dateModified property, the property should be added.

This property should be updated in the Database layer.

build to /dist

Create a build script that builds the app to the /dist folder.

set up ESBuild

Set up ESBuild. This is primarily a JavaScript bundler, but it also transpiles code, making Babel unnecessary for this project.

add styling to banner

  • Lotus icon should be centered (probably needs absolute positioning)
  • banner should be sticky
  • banner should be blue

create developer documentation

Create developer documentation and deploy it to developer.digitalinguistics.io/app.

This should primarily document the App object, the structure of the HTML, and the structure of the CSS. In essence, it should describe the environment / API that developers have at their disposal.

add App controller

Add the App controller. For the time being all this will do is export a no-op App class. Then, in the app shell (index.html), import this module and instantiate a new app object, storing it to window.app.

  • App.js should be located in src/app/.
  • Include JSDoc comments documenting the app object (see old App.js code below, specifically lines 1-3 and 17-22).
  • For now, this won't be an instance of the View class (we'll add that later).
  • No new tests are necessary for this change.

See the old code for guidance:

set up SVG sprites

  • set up SVG sprite creation tool
  • buildSVG.js
  • include SVG sprite in app shell using a partial
    • All sprites will be located in the app shell for the time being.
  • use an SVG sprite for the Lotus icon
  • document location of SVG sprites in HTML
  • document build process for SVG
  • add note about icon sources (Flaticon, Feather Icons)

https://www.npmjs.com/package/svgstore
https://github.com/mrmlnc/svg2sprite
https://github.com/digitallinguistics/digitallinguistics.io/blob/master/build/buildSVG.js

app shell

Create the app shell, with an empty <body>.

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.