Git Product home page Git Product logo

biocathubangular's People

Contributors

dorthrithil avatar lohmannjens avatar patricia678 avatar stephanm87 avatar

Watchers

 avatar  avatar

biocathubangular's Issues

Module structure

Currently the app is a mono module app which makes sense at this stage.
But for easier extendability I would already sort stuff in modules. If at some stage someone might add a new (lazy loaded) module, currently everything had to be moved around. I there is a complete refactoring happening anyway, we should immediately move everything in modules. Maybe something like this:

  • CodeModule: Contains the landing page (dashboard) and "app frame" (the clarity components for the header etc)
  • BioCatModule: Contains the experiment editor (lazy loaded)
  • SharedModule: Contains generic code that can be used by all modules, e.g. form validators, some pipes, ...

This would lead to some folder structure like this:

src/
├─ app/
│  ├─ modules/
│  │  ├─ core/
│  │  ├─ shared/
│  │  ├─ biocat/
│  ├─ services/
│  ├─ models/
├─ assets/
├─ environments/

Update Zenodo Uplad

The Zenodo adapter needs to be updated for three different features:

  1. Enable the export of not completely filled forms
  2. Enable the Addition of personal token to access personal access to the DB
  3. enbale the edition of existing entries

Add eslint

Add linter and also configure jsdoc rules. The linter should error when there is missing documentation.

I can provide the linter rules from LabNode.

Merge `environment` and `environmentEnzymeML` in the environment files

Best practice is to have only environment as a variable. You can combine

export const environment = {
  production: false,
  backendUrl: '/api/db-query'
};

export const environmentEnzymeML = {
  production: false,
  backendUrl:'http://127.0.0.1:8000/'
};

to

export const environment = {
  production: false,
  backendUrlDBQuery: '/api/db-query',
  backendUrlEnzymeML: '/api/enzyme-ml'
};

Refactor `DataService`

The DataService is way too big and has to be refactored. Basically all problems can be solved by making use of Angular Forms instead of custom Validation:

  • Create a FormGroup for the Experiment model
  • Add "sub form groups" for each stepper page
  • Each property of the form group will be a form control (e.g. x_unit, y_unit, notes, ...)
  • Make use of built in form validation, e.g. Required Validator, ...
  • Write custom form validators for cases where built ins don't apply (e.g. validate string currently uses trim which is not done by the standard required validator)
  • Replace all progress functions by a generic progress function that does the following (per form group aka stepper page): Count form controls, check how many form controls are valid, display progress
  • To display the error messages we can again just check the form group object and collect invalid controls

Experimental Data -> Notes field is mandatory right now

in the step "experimental data", I have to give "notes" about my measurement. Can you make that an optional field? Or maybe you want to ask for method details, e.g. how s.th. was measured or alike? Thanks for considering!

Rename unserscore variables

No underscore variables in Typescript allowed per convention.
There are two places whre those are used. Marked with TODO in the refactoring branch.

Nginx conf file

events{}

http {

include /etc/nginx/mime.types;

server {

    listen 80;
    server_name localhost;
    root /usr/share/nginx/html;
    index index.html;

    location / {
            try_files $uri $uri/ /index.html;
    }
}

}

Update dependencies

Update Clarity and Angular Versions. In case of a complete rewrite it's actually not an update but setting up a completely new project.

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.