question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

All the Frontend services should be documented with jsdoc.

See original GitHub issue

This starter issue is currently on hold because we do not have the capacity to support new contributors working on it.


We aim to document all the files listed below.

Each of the below-listed files should have a file overview signifying the purpose of the file, and each function should have its meaning, arguments and return statement documented with the help of jsdoc decorators like @fileoverview, @param, @return.

You can go through these services to get some reference:

  • graph-input-rules.service.ts
  • exploration-html-formatter.service.ts
  • graph-utils.service.ts
  • alerts.service.ts
  • playthrough-issues.service.ts

Deducing variable’s significance and the meaning from the code: Try and execute the code by running a dev server locally, and log the variable type (you can use typeof for this) and try to find out the purpose of the variable(what’s the variable storing, what is it being used for, what would break if we remove the variable?). To figure out how to execute the code, grep to see what methods call the function, and add console logs to ensure that the code is being executed when you perform the corresponding action in the UI. (As a sanity check, you might also want to ensure that the suspected variable type is consistent with any TypeScript types that are already provided.)

Overview of the function: Finding or deducing the overview or the purpose of the function can be sometimes a bit tricky, some general advice can be to think–

  • why is this function even required, what does it helps us achieve. Try to think from the perspective of the person who created the function and try to mimic the thought process of the original author.
  • Look at the callers of the function, see all the places where this function is being called at and try to get a better understanding of the function.
  • If you are unable to understand the purpose of the function, feel free to reach out to your mentor(always happy to help).

Please go through this doc for a deeper context.

Please don’t include types in the JSDoc, use the TypeScript annotations for that.

PR’s for reference: #8773

To be assigned to a file or for any queries, comment on the thread and tag @nithusha21.

The listed services file below needs to be documented:

  • admin-config-tab-backend-api.service.ts
  • admin-data.service.ts
  • admin-router.service.ts @anumehaagrawal
  • admin-task-manager.service.ts @larakhdavies
  • alerts.service.ts
  • angular-name.service.ts @parulpriyedarshani
  • answer-classification.service.ts
  • answer-groups-cache.service.ts
  • assets-backend-api.service.ts
  • audio-pFlayer.service.ts
  • audio-preloader.service.ts
  • audio-translation-language.service.ts @kaylahardie
  • audio-translation-manager.service.ts
  • autogenerated-audio-player.service.ts @BlakeHan01
  • autoplayed-videos.service.ts @darkpsychic
  • autosave-info-modals.service.ts
  • background-mask.service.ts
  • base-undo-redo.service.ts
  • browser-checker.service.ts
  • change-list.service.ts
  • changes-in-human-readable-form.service.ts
  • classroom-backend-api.service.ts @ReshuKumari
  • code-normalizer.service.ts
  • collection-creation-backend-api.service.ts
  • collection-creation.service.ts
  • collection-editor-state.service.ts
  • collection-linearizer.service.ts
  • collection-rights-backend-api.service.ts
  • collection-update.service.ts
  • collection-validation.service.ts
  • compare-versions.service.ts
  • compute-graph.service.ts
  • concept-card-backend-api.service.ts
  • construct-translation-ids.service.ts @BlakeHan01
  • context.service.ts
  • contribution-and-review.service.ts @lelouchB
  • contribution-opportunities-backend-api.service.ts
  • contribution-opportunities.service.ts
  • creator-dashboard-backend-api.service.ts
  • csrf-token.service.ts
  • current-interaction.service.ts
  • date-time-format.service.ts @linnhallonqvist
  • debouncer.service.ts
  • debug-info-tracker.service.ts
  • device-info.service.ts
  • document-attribute-customization.service.ts
  • editability.service.ts
  • editable-collection-backend-api.service.ts
  • editable-exploration-backend-api.service.ts
  • editable-question-backend-api.service.ts
  • editable-skill-backend-api.service.ts
  • editable-story-backend-api.service.ts
  • editable-topic-backend-api.service.ts
  • editor-first-time-events.service.ts
  • email-dashboard-data.service.ts
  • exploration-automatic-text-to-speech.service.ts
  • exploration-category.service.ts
  • exploration-correctness-feedback.service.ts
  • exploration-creation.service.ts
  • exploration-data.service.ts
  • exploration-diff.service.ts
  • exploration-embed-button.service.ts
  • exploration-engine.service.ts
  • exploration-features-backend-api.service.ts
  • exploration-features.service.ts @parulpriyedarshani
  • exploration-html-formatter.service.ts
  • exploration-init-state-name.service.ts
  • exploration-language-code.service.ts
  • exploration-objective.service.ts
  • exploration-param-changes.service.ts
  • exploration-param-specs.service.ts
  • exploration-player-state.service.ts
  • exploration-property.service.ts
  • exploration-recommendations.service.ts
  • exploration-rights.service.ts
  • exploration-save.service.ts
  • exploration-states.service.ts
  • exploration-summary-backend-api.service.ts
  • exploration-tags.service.ts @shrutisatish00
  • exploration-title.service.ts
  • exploration-warnings.service.ts
  • expression-evaluator.service.ts
  • expression-interpolation.service.ts
  • expression-parser.service.ts
  • expression-syntax-tree.service.ts
  • expression-type-parser.service.ts
  • extension-tag-assembler.service.ts
  • extract-image-filenames-from-state.service.ts
  • fatigue-detection.service.ts
  • focus-manager.service.ts
  • generate-content-id.service.ts
  • graph-data.service.ts
  • graph-layout.service.ts
  • guest-collection-progress.service.ts
  • hint-and-solution-modal.service.ts
  • hints-and-solution-manager.service.ts
  • html-escaper.service.ts @tianqi-wu
  • id-generation.service.ts
  • image-preloader.service.ts
  • image-upload-helper.service.ts
  • improvement-modal.service.ts
  • improvement-task.service.ts
  • improvements-display.service.ts
  • improvements.service.ts
  • interaction-details-cache.service.ts
  • language-util.service.ts
  • learner-action-render.service.ts
  • learner-answer-details-backend-api.service.ts
  • learner-answer-details-data.service.ts
  • learner-answer-info.service.ts
  • learner-dashboard-backend-api.service.ts
  • learner-dashboard-ids-backend-api.service.ts
  • learner-params.service.ts
  • learner-playlist.service.ts
  • learner-view-rating.service.ts
  • local-storage.service.ts
  • logger.service.ts @remigourdon
  • messenger.service.ts @remigourdon
  • meta-tag-customization.service.ts
  • navigation.service.ts
  • nested-directives-recursion-timeout-prevention.service.ts
  • number-attempts.service.ts @gp201
  • page-title.service.ts
  • parameter-metadata.service.ts
  • player-correctness-feedback-enabled.service.ts
  • player-position.service.ts @tianqi-wu
  • player-transcript.service.ts
  • playthrough-issues-backend-api.service.ts
  • playthrough-issues.service.ts
  • playthrough.service.ts
  • prediction-algorithm-registry.service.ts
  • pretest-question-backend-api.service.ts
  • promo-bar.service.ts
  • question-backend-api.service.ts
  • question-creation.service.ts
  • question-player-engine.service.ts
  • question-player-state.service.ts
  • question-suggestion.service.ts
  • question-undo-redo.service.ts
  • question-update.service.ts
  • questions-list.service.ts
  • rating-computation.service.ts
  • read-only-collection-backend-api.service.ts
  • read-only-exploration-backend-api.service.ts
  • refresher-exploration-confirmation-modal.service.ts
  • request-interceptor.service.ts
  • responses.service.ts
  • review-test-backend-api.service.ts
  • review-test-engine.service.ts
  • router.service.ts
  • rte-helper.service.ts
  • schema-default-value.service.ts
  • schema-undefined-last-element.service.ts
  • search-explorations-backend-api.service.ts
  • search.service.ts
  • sidebar-status.service.ts
  • site-analytics.service.ts
  • skill-creation.service.ts
  • skill-editor-routing.service.ts
  • skill-editor-state.service.ts
  • skill-mastery-backend-api.service.ts
  • skill-rights-backend-api.service.ts
  • skill-update.service.ts
  • solution-validity.service.ts
  • solution-verification.service.ts
  • speech-synthesis-chunker.service.ts
  • state-classifier-mapping.service.ts
  • state-content.service.ts
  • state-customization-args.service.ts
  • state-editor.service.ts
  • state-hints.service.ts
  • state-improvement-suggestion.service.ts @bobbychen1999
  • state-interaction-id.service.ts
  • state-name.service.ts
  • state-param-changes.service.ts
  • state-property.service.ts
  • state-recorded-voiceovers.service.ts
  • state-rules-stats.service.ts
  • state-solicit-answer-details.service.ts
  • state-solution.service.ts
  • state-top-answers-stats-backend-api.service.ts
  • state-top-answers-stats.service.ts
  • state-tutorial-first-time.service.ts @akeeoaobh
  • state-written-translations.service.ts
  • stats-reporting.service.ts
  • story-creation.service.ts
  • story-editor-state.service.ts @pengcheng95
  • story-update.service.ts
  • story-viewer-backend-api.service.ts
  • subtopic-viewer-backend-api.service.ts
  • suggestion-modal-for-creator-view.service.ts
  • suggestion-modal-for-exploration-editor.service.ts
  • suggestion-modal-for-exploration-player.service.ts
  • suggestion-modal-for-learner-dashboard.service.ts
  • suggestion-modal.service.ts
  • thread-data.service.ts
  • thread-status-display.service.ts
  • topic-creation.service.ts
  • topic-editor-routing.service.ts
  • topic-editor-state.service.ts
  • topic-rights-backend-api.service.ts
  • topic-update.service.ts
  • topic-viewer-backend-api.service.ts
  • topics-and-skills-dashboard-backend-api.service.ts
  • training-data-editor-panel.service.ts
  • training-data.service.ts @felicityzhao99
  • training-modal.service.ts @varuncj02
  • translate-text.service.ts
  • translation-file-hash-loader.service.ts
  • translation-language.service.ts
  • translation-status.service.ts
  • translation-tab-active-content-id.service.ts
  • translation-tab-active-mode.service.ts
  • undo-redo.service.ts
  • url-interpolation.service.ts @qinghaoyang
  • url.service.ts @tianqi-wu
  • user-email-preferences.service.ts @felicityzhao99
  • user-exploration-permissions.service.ts
  • user.service.ts
  • utils.service.ts @rriyaldhi
  • validators.service.ts
  • version-tree.service.ts
  • voiceover-recording.service.ts
  • window-dimensions.service.ts @asafprivman
  • window-ref.service.ts @larakhdavies

Note: For a guide on how to access Oppia’s webpages, see this.

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:87 (61 by maintainers)

github_iconTop GitHub Comments

1reaction
Showtim3commented, Mar 25, 2020

@lelouchB Okay, thanks for the reply. No Worries, take your time and stay safe.

0reactions
U8NWXDcommented, Aug 11, 2022

@arka1002 Sorry, we don’t currently have the capacity to help new contributors get started with this issue. Please choose from another of our starter issues: https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#starter-projects-for-new-contributors

Read more comments on GitHub >

github_iconTop Results From Across the Web

Document your Javascript code with JSDoc - DEV Community ‍ ‍
JSDoc is an open source API documentation generator for Javascript. It allows developers to document their code through comments. Here's an ...
Read more >
Use JSDoc: Index
Official documentation for JSDoc 3. ... Index. Getting Started. Getting Started with JSDoc 3: A quick-start to documenting JavaScript with JSDoc.
Read more >
Type Safe JavaScript with JSDoc - Medium
JSDoc comments are an alternative to TypeScript and Flow for type definitions in JavaScript. In combination with VSCode you can get type ...
Read more >
How to document a Require.js (AMD) Modul with jsdoc 3 or ...
The RequireJS library provides a define method that allows you to write a function to return a module object. Use the @exports tag...
Read more >
Generate docs and host it with JSDoc and GitHub Pages
Now we are ready to generate the documentation website that will contain all the docs written in the JokeMachine class. First of all,...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found