Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

26 - Add frontend guides #353

Merged
merged 30 commits into from
Apr 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
851c669
first commit, adding temp files, placeholder content, and getting an …
Feb 28, 2024
efdc807
Readme Formatting
Feb 28, 2024
727deba
More readme updates
Feb 29, 2024
94ba941
test codeblock formatting
Mar 1, 2024
af3e426
formatting, links, logo tests
Mar 5, 2024
970bb84
formatting, removing second logo
Mar 5, 2024
d1c99b1
formatting
Mar 5, 2024
ae5db42
adding logos, fixing links
Mar 5, 2024
7731842
feat(Developer Guide): add Writting test cases section
MellyGray Mar 18, 2024
abbd345
feat(Developer Guide): add Coverage section
MellyGray Mar 19, 2024
1220a7d
feat(Developer Guide): add some notes about Writing test cases
MellyGray Mar 19, 2024
b509e4a
feat(Developer Guide): move React Testing Library link
MellyGray Mar 25, 2024
6d2c130
feat(Developer Guide): add missing details closing tag
MellyGray Mar 25, 2024
89713d6
feat(Frontend Guides): add the same CODE_OF_CONDUCT as the main Datav…
MellyGray Mar 27, 2024
98ba0bb
Merge pull request #349 from IQSS/docs-326-developer-guide-writing-te…
ekraffmiller Mar 28, 2024
37cbd32
feat(Frontend Guides): address all TODOs from the CONTRIBUTING.md file
MellyGray Apr 1, 2024
ea6a12a
feat(Frontend Guides): address all TODOs in the README
MellyGray Apr 1, 2024
6916a34
feat(Frontend Guides): update issues templates
MellyGray Apr 1, 2024
6831b7c
feat(Frontend Guides): remove AUTHORS.md
MellyGray Apr 1, 2024
aeece97
feat(Frontend Guides): remove empty CHANGELOG
MellyGray Apr 1, 2024
1fdba1f
Merge branch 'docs/26-add-frontend-guides' of https://github.com/IQSS…
MellyGray Apr 1, 2024
75ed003
Merge branch 'develop' of https://github.com/IQSS/dataverse-frontend …
MellyGray Apr 1, 2024
60b6af2
feat(Developer Guide): add note about .npmrc.example
MellyGray Apr 1, 2024
c54082a
feat(Developer Guide): remove unused links
MellyGray Apr 1, 2024
07fb761
feat(Frontend Guides): fix .github files to create issues
MellyGray Apr 1, 2024
c9fedaa
feat(Frontend Guides): fix Typescript style guide link
MellyGray Apr 16, 2024
8824d90
feat(Frontend Guides): add GitHub container registry link
MellyGray Apr 16, 2024
abbb137
feat(Fronted Guides): link e2e new issue to address the failures
MellyGray Apr 16, 2024
f89980a
Merge branch 'develop' of https://github.com/IQSS/dataverse-frontend …
MellyGray Apr 16, 2024
a3fa006
fix: merge conflict arrows
MellyGray Apr 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

- The use of sexualized language or imagery and unwelcome sexual attention or
advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic
address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at support at dataverse dot org. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
123 changes: 123 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Guidance on how to contribute

> All contributions to this project will be released under the Apache License, Version 2.0.
> By submitting a pull request or filing a bug, issue, or
> feature request, you are agreeing to comply with this waiver of copyright interest.
> Details can be found in our [LICENSE](LICENSE).

Thank you for your interest in contributing to Dataverse Frontend! We are open to contributions from everyone. You don't
need permission to participate. Just jump in. If you have questions, please reach out using one or more of the channels
described below.

We aren't just looking for developers. There are many ways to contribute to Dataverse. We welcome contributions
of ideas, bug reports, usability research/feedback, documentation, code, and more! Please, check the [Dataverse main repo]
for more information on how to contribute to the Dataverse project.

Here are ways to get involved:

1. [Star] the project!
2. Answer questions and join in on [issue tracker].
3. [Report a bug] that you find.
4. Browse ["help wanted"] and ["good first issue"] labels for areas of Dataverse/JavaScript/code you know well to consider, build or document.

## Bug Reports/Issues

An issue is a bug (a feature is no longer behaving the way it should) or a feature (something new to Dataverse that helps
users complete tasks). You can browse the Dataverse Frontend [issue tracker] on GitHub by open or closed issues.

Before submitting an issue, please search the existing issues by using the search bar at the top of the page. If there
is an existing open issue that matches the issue you want to report, please add a comment to it.

If there is no pre-existing issue or it has been closed, please click on the "New Issue" button, log in, and write in
what the issue is (unless it is a security issue which should be reported privately to security@dataverse.org).

If you do not receive a reply to your new issue or comment in a timely manner, please email support@dataverse.org with a link to the issue.

### Writing an Issue

For the subject of an issue, please start it by writing the feature or functionality it relates to, i.e. "Create Account:..."
or "Dataset Page:...". In the body of the issue, please outline the issue you are reporting with as much detail as possible.
In order for the Dataverse development team to best respond to the issue, we need as much information about the issue as
you can provide. Include steps to reproduce bugs. Indicate which version you're using, which is shown at the bottom of the page. We love screenshots!

### Issue Attachments

You can attach certain files (images, screenshots, logs, etc.) by dragging and dropping, selecting them, or pasting from
the clipboard. Files must be one of GitHub's [supported attachment formats] such as png, gif, jpg, txt, pdf, zip, etc.
(Pro tip: A file ending in .log can be renamed to .txt, so you can upload it.) If there's no easy way to attach your file,
please include a URL that points to the file in question.

[supported attachment formats]: https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/

## Documenting

This is probably one of the most important things you can do as a contributor and probably one of the easiest things you can do.
For the moment we only use the [README], which you can edit right here on GitHub!

if there is a mistake you can just press the edit button on the file and make the change directly even without an IDE.
These pull requests are highly appreciated and will help future generations of developers!

[README]: https://github.com/IQSS/dataverse-frontend/edit/develop/README.md

## Changing the code-base

If you are interested in working on the Dataverse Frontend code, great! Before you start working on something we would
suggest talking to us in the [Zulip UI Dev Stream]

Generally speaking, you should fork this repository, make changes in your own fork, and then submit a pull request. All
new code should have associated unit tests that validate implemented features and the presence or lack of defects.
Additionally, the code should follow any stylistic and architectural guidelines prescribed by the project. In the absence
of such guidelines, mimic the styles and patterns in the existing code-base.

Pull requests are highly appreciated. More than [5 people] have written parts of Dataverse Frontend (so far). Here are some
guidelines to help:

1. **Solve a problem** – Features are great, but even better is cleaning-up and fixing issues in the code that you discover.
2. **Write tests** – This helps preserve functionality as the codebase grows and demonstrates how your change affects the code.
3. **Write documentation** – We have a [README] that always needs updating.
4. **Small > big** – Better to have a few small pull requests that address specific parts of the code, than one big pull request that jumps all over.
5. **Comply with Coding Standards** – See next section.

### How to start

After you’ve forked the Dataverse Frontend repository, you should follow the Getting Started instructions in the
[Developer Guide](DEVELOPER_GUIDE.md) to get your local environment up and running.

### GitHub reviews & assignments

All PRs receive a review from at least one maintainer. We’ll do our best to do that review as soon as possible, but we’d
rather go slow and get it right than merge in code with issues that just lead to trouble.

You might see us assign multiple reviewers, in this case these are OR checks (i.e. either Person1 or Person2) unless we
explicitly say it’s an AND type thing (i.e. can both Person3 and Person4 check this out?).

We use the assignee to show who’s responsible at that moment. We’ll assign back to the submitter if we need additional
info/code/response, or it might be assigned to a branch maintainer if it needs more thought/revision (perhaps it’s directly
related to an issue that's actively being worked on).

After making your pull request, your goal should be to help it advance through our kanban board at [IQSS Dataverse Project].
If no one has moved your pull request to the code review column in a timely manner, please reach out. Note that once a pull request
is created for an issue, we'll remove the issue from the board so that we only track one card (the pull request).

Thanks for your contribution!

## Other ways to contribute to the code

We love code contributions. Developers are not limited to the Frontend Dataverse code in this git repo. You can help with
API client libraries in your favorite language that are mentioned in the [API Guide][] or create a new library. In this
repo we are using the [JavaScript Dataverse API client library] in which you can contribute to as well.

[API Guide]: http://guides.dataverse.org/en/latest/api
[issue tracker]: https://github.com/IQSS/dataverse-frontend/issues
[Dataverse main repo]: https://github.com/IQSS/dataverse/blob/develop/CONTRIBUTING.md
[Star]: https://github.com/iqss/dataverse-frontend/stargazers
[Report a bug]: https://github.com/iqss/dataverse-frontend/issues/new?assignees=&labels=&projects=&title=%5BBUG%5D+Your+title
["help wanted"]: https://github.com/iqss/dataverse-frontend/labels/help%20wanted:
["good first issue"]: https://github.com/iqss/dataverse-frontend/labels/good%20first%20issue
[Zulip UI Dev Stream]: https://dataverse.zulipchat.com/#narrow/stream/410361-ui-dev
[5 people]: https://github.com/iqss/dataverse-frontend/graphs/contributors
[Getting Started Section]: https://github.com/IQSS/dataverse-frontend?tab=readme-ov-file#getting-started
[TypeScript Deep Dive Style Guide]: https://basarat.gitbook.io/typescript/styleguide
[pre-commit]: https://www.npmjs.com/package/pre-commit
[IQSS Dataverse Project]: https://github.com/orgs/IQSS/projects/34
[JavaScript Dataverse API client library]: https://github.com/IQSS/dataverse-client-javascript
39 changes: 30 additions & 9 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,41 @@
# What steps does it take to reproduce the issue?
---
name: Bug report
about: Did you encounter something unexpected or incorrect in the Dataverse Frontend?
We'd like to hear about it!
title: ''
labels: 'Type: Bug'
assignees: ''
---

## When does this issue occur?
<!--
Thank you for contributing to the Dataverse Frontend through the creation of a bug report!

## Which section(s) does it occurs on?
WARNING: If this is a security issue it should be reported privately to security@dataverse.org

## What happens?
More information on bug issues and contributions can be found in the "Contributing to Dataverse Frontend" page:
https://github.com/IQSS/dataverse-frontend/blob/develop/CONTRIBUTING.md#bug-reportsissues

## To whom does it occur (all users, curators, superusers)?
Please fill out as much of the template as you can.
Start below this comment section.
-->

## What did you expect to happen?
**What steps does it take to reproduce the issue?**

## Which version of Dataverse Frontend are you using?
- When does this issue occur?

## Any related open or closed issues to this bug report?
- Which page(s) does it occur on?

# Screenshots:
- What happens?

- To whom does it occur (all users, curators, superusers)?

- What did you expect to happen?

**Which version of Dataverse Frontend are you using?**

**Any related open or closed issues to this bug report?**

**Screenshots:**

No matter the issue, screenshots are always welcome.

Expand Down
31 changes: 24 additions & 7 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,30 @@
## Overview of the Feature Request
---
name: Feature request
about: Suggest an idea or new feature for the Dataverse software!
title: 'Feature Request/Idea:'
labels: 'Type: Feature'
assignees: ''
---

## What kind of user is the feature intended for?
<!--
Thank you for contributing to the Dataverse Project through the creation of a feature request!

(Example users roles: Curator, Depositor, Guest, Superuser, Sysadmin)
More information on ideas/feature requests and contributions can be found in the "Contributing to Dataverse" page:
https://github.com/IQSS/dataverse/blob/develop/CONTRIBUTING.md#ideasfeature-requests

## What inspired the request?
Please fill out as much of the template as you can.
Start below this comment section.
-->

## What existing behavior do you want changed?
**Overview of the Feature Request**

## Any brand new behavior do you want to add to Dataverse?
**What kind of user is the feature intended for?**
(Example users roles: API User, Curator, Depositor, Guest, Superuser, Sysadmin)

## Any open or closed issues related to this feature request?
**What inspired the request?**

**What existing behavior do you want changed?**

**Any brand-new behavior do you want to add to Dataverse?**

**Any open or closed issues related to this feature request?**
16 changes: 8 additions & 8 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
## What this PR does / why we need it:
**What this PR does / why we need it**:

## Which issue(s) this PR closes:
**Which issue(s) this PR closes**:

- Closes #
Closes #

## Special notes for your reviewer:
**Special notes for your reviewer**:

## Suggestions on how to test this:
**Suggestions on how to test this**:

## Does this PR introduce a user interface change? If mockups are available, please link/include them here:
**Does this PR introduce a user interface change? If mockups are available, please link/include them here**:

## Is there a release notes update needed for this change?:
**Is there a release notes update needed for this change?**:

## Additional documentation:
**Additional documentation**:
79 changes: 79 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,82 @@ yarn-error.log*
/dev-env/dataverse
/dev-env/dataverse-sample-data
/packages/design-system/.nyc_output


# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
_site/

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store
.DS_Store?
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db

# Vim swap files #
##################
*.swp

# Python #
#################
*.pyc
*.egg-info/
__pycache__/
*.py[cod]
.env
.python-version

# pyenv #
#########
.python-version

# Django #
#################
*.egg-info
.installed.cfg

# Unit test / coverage reports
#################
htmlcov/
.tox/
.coverage
.cache
nosetests.xml
coverage.xml

# Front-End #
#############
node_modules/
bower_components/
.grunt/
src/vendor/
dist/
Loading
Loading