From 01aba74a27e7a542b14b29d6509ed0bd4e943915 Mon Sep 17 00:00:00 2001 From: eckim817 <56776460+eckim817@users.noreply.github.com> Date: Mon, 26 Aug 2024 17:21:52 -0700 Subject: [PATCH 1/2] fixed typos --- CONTRIBUTING.md | 2 +- INSTALL.md | 4 ++-- ONBOARDING.md | 14 +++++++------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index eee5e37..f2ea288 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -70,7 +70,7 @@ The above is not an exhaustive list of ways to participate in FarmData2. For som Interacting with FarmData2 requires a basic familiarity with git and GitHub. FarmData2 development uses a fairly standard web technology stack including HTML, CSS, Bootstrap, JavaScript, and Vue.js. The front-end accesses FarmData2 data through the [FarmOS API](https://farmos.org/development/api/) using the [Axios](https://github.com/axios/axios) library. End-to-end and component testing is done using the [Cypress framework](https://www.cypress.io/). -If you are unfamiliar with one or more of these technologies the [ONBOARDING](ONBOARDING.md) document provides additional information about each, as well as resources and activities for learning about them. +If you are unfamiliar with one or more of these technologies, the [ONBOARDING](ONBOARDING.md) document provides additional information about each, as well as resources and activities for learning about them. ## Workflow ## diff --git a/INSTALL.md b/INSTALL.md index cea1926..e71417b 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -75,7 +75,7 @@ The FarmData2 repository contains a sample database with anonymized data from se ./setDB.bash sample ``` -When this command completes there should be a `db` directory in the `docker` directory. The files in this `db` directory are a mySQL database that contain the sample data. Note that you will only need to do this step once. But the above comman can be used at any time to reset the database to its initial state. +When this command completes there should be a `db` directory in the `docker` directory. The files in this `db` directory are a mySQL database that contain the sample data. Note that you will only need to do this step once. But the above command can be used at any time to reset the database to its initial state. #### Starting FarmData2 #### @@ -84,7 +84,7 @@ To start FarmData2 ensure that you are in the `docker` directory in the reposito ./fd2-up.bash ``` -This command will starts up the docker containers that are used by FarmData2. There will be lots of output from this command and the first time you run it, it may take a while to complete as it pulls, downloads and extracts the docker images to your machine. +This command will start up the docker containers that are used by FarmData2. There will be lots of output from this command and the first time you run it, it may take a while to complete as it pulls, downloads and extracts the docker images to your machine. If you encounter an error similar to `Cannot start service www`, it can likely be fixed by entering the command ``` diff --git a/ONBOARDING.md b/ONBOARDING.md index c76f883..5380a50 100644 --- a/ONBOARDING.md +++ b/ONBOARDING.md @@ -12,7 +12,7 @@ Before continuing, If you haven't already, please review the [README](README.md) ## Communications ## -The FarmData2 community uses [Zulip](https://zulip.com/) as it communication platform. Zulip is a group chat application that blends the benefits of asynchronous threaded discussions (e.g. a forum) with live chat. +The FarmData2 community uses [Zulip](https://zulip.com/) as its communication platform. Zulip is a group chat application that blends the benefits of asynchronous threaded discussions (e.g. a forum) with live chat. Connecting with the [FarmData2 community](https://farmdata2.zulipchat.com/) on Zulip provides a place to ask questions of the project managers and the broader developer community. @@ -29,10 +29,10 @@ The following resources can be useful for learning what you'll need to know abou - Resources: - [Hello World](https://guides.github.com/activities/hello-world/): A first introduction to GitHub that will get you started if you haven't used it before. - - [GitFlow Intro](https://guides.github.com/introduction/flow/): An introduction to an effective way of using GitHub (i.e. a _workflow_). The followign two guides walk through how to work with existing open source projects and essentially follow GitFlow: + - [GitFlow Intro](https://guides.github.com/introduction/flow/): An introduction to an effective way of using GitHub (i.e. a _workflow_). The following two guides walk through how to work with existing open source projects and essentially follow GitFlow: - [Step-by-step guide to contributing on GitHub](https://www.dataschool.io/how-to-contribute-on-github/) - [7 Steps to Get Started with Git](https://www.fosslife.org/7-steps-get-started-git). - - [Git Immersion](https://gitimmersion.com/): A tutorial walks through a series of short hands-on exercises that provide practice with the key features of git. + - [Git Immersion](https://gitimmersion.com/): A tutorial that walks through a series of short hands-on exercises that provide practice with the key features of git. - [Pro Git Book](http://git-scm.com/book/en/v2) | [Learn Git Tutorial](https://www.tutorialspoint.com/git/index.htm): More detailed and comprehensive coverage of git's features and use. ## Quickest Start ## @@ -79,7 +79,7 @@ When the IDE opens: The explorer on the left will show the contents and structure of the FarmData2 repository. If you are familiar with other IDEs then using Theia should be relatively straight forward. - Resources: - - [How to use Eclipse Theia as an IDE](https://eclipsesource.com/blogs/2019/10/04/how-to-use-eclipse-theia-as-an-ide/): An overview of Theia and its use ad an Integrated Development Environment. + - [How to use Eclipse Theia as an IDE](https://eclipsesource.com/blogs/2019/10/04/how-to-use-eclipse-theia-as-an-ide/): An overview of Theia and its use as an Integrated Development Environment. As FarmData2 matures, utilities (e.g. linters and formatters) will be added to the provided Theia IDE. If you choose to use a different editor, all such utilities will be documented in the [INSTALL.md](INSTALL.md) file so that you can install the appropriate plugins for your editor. @@ -155,7 +155,7 @@ The functionality of FarmData2 is tested using the [Cypress framework](https://w ##### End-to-End Tests ##### -The Cypress end-to-end test framework works by controlling the web browser. A test typically consists of a series of steps that are automated by the Cypress tests, called _spec_s. A typical spec consist of the steps: +The Cypress end-to-end test framework works by controlling the web browser. A test typically consists of a series of steps that are automated by the Cypress tests, called *spec*s. A typical spec consist of the steps: 1. Setup the test (e.g. login, prime the database) 1. Visit a specific page 1. Query the page for an _html element_ of interest (e.g. button, ext field) @@ -173,9 +173,9 @@ The Cypress end-to-end test framework works by controlling the web browser. A te - [FarmData2 Cypress Tests Details](https://github.com/DickinsonCollege/FarmData2/blob/main/farmdata2_modules/fd2_tabs/fd2_example/README.md): Information on specifically how FarmData2 uses Cypress tests. ##### Component Tests ##### -Cypress component tests work by mounting a Vue Component into a browser and allowing tests to interact with it in isolation from the application. A typical comonent test will: +Cypress component tests work by mounting a Vue Component into a browser and allowing tests to interact with it in isolation from the application. A typical component test will: 1. Configuring and mounting the component into the test framework. - 1. Query the component for an _html element_ of interest (e.g. button, ext field) + 1. Query the component for an _html element_ of interest (e.g. button, text field) 1. Interact with that element (e.g. click the button, enter some text) 1. Make an assertion about the result (e.g. the component emits an event or changes state). From 19202fb22892681e0e2e93837499cc0ccfa75411 Mon Sep 17 00:00:00 2001 From: eckim817 <56776460+eckim817@users.noreply.github.com> Date: Mon, 26 Aug 2024 18:02:12 -0700 Subject: [PATCH 2/2] fixed more typos --- CONTRIBUTING.md | 16 ++++++++-------- INSTALL.md | 2 +- LICENSE.md | 6 +++--- ONBOARDING.md | 10 +++++----- README.md | 4 ++-- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f2ea288..f4a19d2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,11 +4,11 @@ FarmData2 welcomes participation and contributions. There are many ways to contr ## Code of Conduct ## -To promote an open, welcoming, inclusive and harassment-free experience, all engagement with FarmData2 is governed by the community standards expressed in the [Contributor Covenent](CODE_OF_CONDUCT.md). +To promote an open, welcoming, inclusive and harassment-free experience, all engagement with FarmData2 is governed by the community standards expressed in the [Contributor Covenant](CODE_OF_CONDUCT.md). ## Licensing ## -Content in the FarmData2 project is released under several different licenses as described in the [LICENSE file](LICENSE.md). In addition, that file describes the rights and responsibilities of contributors with regard to the their contributed content. The licensing structure of FarmData2 is designed to ensure that FarmData2 remains free and open source while protecting both the project and it community of contributors. Please review it carefully before contributing content to FarmData2. +Content in the FarmData2 project is released under several different licenses as described in the [LICENSE file](LICENSE.md). In addition, that file describes the rights and responsibilities of contributors with regard to the their contributed content. The licensing structure of FarmData2 is designed to ensure that FarmData2 remains free and open source while protecting both the project and its community of contributors. Please review it carefully before contributing content to FarmData2. ## Connecting ## @@ -20,13 +20,13 @@ If you are unfamiliar with [Zulip](https://zulip.com/) it is a group chat applic There are many ways to participate in FarmData2. Some of them are listed below. -Having a running version of FarmData2 is a prerequisite for many of the forms of participation. The [Install Directions] give step by step instructions for getting FarmData2 up and running. +Having a running version of FarmData2 is a prerequisite for many of the forms of participation. The [Install Directions] give step-by-step instructions for getting FarmData2 up and running. [Install Directions]: INSTALL.md #### Bug Reports #### -If you are are a user of FarmData2 and discover something that doesn't seem to be working correctly you can: +If you are a user of FarmData2 and discover something that doesn't seem to be working correctly you can: * Reach out to the community on the [Zulip Developer Stream](https://farmdata2.zulipchat.com/#narrow/stream/271292-developers) to discuss what you have found and how to proceed. * Search the [Issue Tracker] to see if the bug has been reported already. @@ -49,18 +49,18 @@ If you are are a user of FarmData2 and have a new feature you would like to see The project [Issue Tracker] contains tickets describing known issues with the project. The tickets for known issues are tagged with the label "bug". Each reported bug will have a detailed description of how the bug can be observed. Gardening includes activities such as: * Verifying or clarifying these descriptions. - * Enhance the report by providing additional information about the bug (e.g. platforms on which is is or is not seen). + * Enhance the report by providing additional information about the bug (e.g. platforms on which it is or is not seen). * Confirming that bug does (or does not) exist in the current version. To participate by Gardening visit the [Issue Tracker] and find something of interest to verify, enhance or clarify. Try it out in your running version of FarmData2 and add a comment to the ticket with what you find. #### Documentation #### -Update to any of the FarmData2 documentation are welcome. If you find typos, unclear or missing steps, poorly worded explanations, or have any other suggestions for how the documentation could be improved use the [workflow](#workflow) described below to create a pull request for your suggested changes. +Updates to any of the FarmData2 documentation are welcome. If you find typos, unclear or missing steps, poorly worded explanations, or have any other suggestions for how the documentation could be improved use the [workflow](#workflow) described below to create a pull request for your suggested changes. #### Bug Fix / Feature Implementation #### -Tickets in the [Issue Tracker] that are tagged _bug_ or _enhancement_ describe issues be fixed or new features to be added to FarmData2. The tag _good first issue_ appears on the most approachable tickets. If you find an issue to work on use the [workflow](#workflow) described below to create a pull request for your suggested bug fix or feature implementation. Information about the languages and technologies that are used in FarmdData2 and pointers to resources for learning more about them can be found in the [Technology On-boarding](#technology-on-boarding) section below. +Tickets in the [Issue Tracker] that are tagged _bug_ or _enhancement_ describe issues be fixed or new features to be added to FarmData2. The tag _good first issue_ appears on the most approachable tickets. If you find an issue to work on use the [workflow](#workflow) described below to create a pull request for your suggested bug fix or feature implementation. Information about the languages and technologies that are used in FarmData2 and pointers to resources for learning more about them can be found in the [Technology On-boarding](#technology-on-boarding) section below. #### Other Thoughts #### @@ -82,7 +82,7 @@ As a reference, the basic steps for working with GitHub Flow are as follows: * Fork the _upstream_ repository to your GitHub (the _origin_). * [Clone] the _origin_ repository to your local machine. * Set the _upstream_ remote for your local repository to point to the _upstream_ repository. - * Create a _feature branch_ from the _main_ branch your local machine. + * Create a _feature branch_ from the _main_ branch on your local machine. * Make the edits to the documentation or the code in your _feature branch_. * Commit your edits. * If the contribution reflects the work of multiple people, ensure that everyone receives attribution by [Creating a commit with multiple authors]. diff --git a/INSTALL.md b/INSTALL.md index e71417b..f2b8b41 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -39,7 +39,7 @@ Under Ubuntu Linux these tools can most easily be installed using the [apt](http Full installation details for other platforms can be obtained from the projects themselves on the following sites: - * [Intallling git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) + * [Installing git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) * [Get Docker](https://docs.docker.com/get-docker/) * [Install Compose](https://docs.docker.com/compose/install/) diff --git a/LICENSE.md b/LICENSE.md index 4c5fc44..8f8630c 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ ## FarmData2 Licensing Information ## -FarmData2 is a [Free Cultural Work]. This document outlines the licenses that apply to FarmData2 and the agreement which governs contributions. Complete copies of these documents can be be found in the [licenses directory]. All copies and forks of FarmData2 must be maintained in compliance with those licenses. +FarmData2 is a [Free Cultural Work]. This document outlines the licenses that apply to FarmData2 and the agreement that governs contributions. Complete copies of these documents can be be found in the [licenses directory]. All copies and forks of FarmData2 must be maintained in compliance with those licenses. [Free Cultural Work]: https://freedomdefined.org/Definition [licenses directory]: licenses @@ -11,7 +11,7 @@ Contributors retain the copyright to their intellectual property. #### Contributions #### -All contributions to FarmData2 will be licensed as a [Free Cultural Work] using the applicable license agreements as described below. Thus, before any contribution will be accepted __the contributor must certify that they have the right to license the contributed intellectual property__ under the applicable license agreement. This is done explicitly when when a contributor completes the [Developer Certificate of Origin] when opening a Pull Request, or implicitly when posting content to any public forums of the project (for example, but not limited to, issue trackers, message boards or discussion areas). +All contributions to FarmData2 will be licensed as a [Free Cultural Work] using the applicable license agreements as described below. Thus, before any contribution will be accepted __the contributor must certify that they have the right to license the contributed intellectual property__ under the applicable license agreement. This is done explicitly when a contributor acknowledges the [Developer Certificate of Origin], when opening a Pull Request, or implicitly when posting content to any public forums of the project (for example, but not limited to, issue trackers, message boards or discussion areas). [Developer Certificate of Origin]: https://developercertificate.org/ @@ -31,4 +31,4 @@ All other content, including code snippets posted in public forums, is licensed Attribution of contributions to the FarmData2 repository are maintained in the logs of the git version control system. The [AUTHORS.md](AUTHORS.md) file contains a list of all contributors to the repository and is updated periodically. -Attribution of content in public forums is typically maintained by the appropriate forum (e.g. threads, usernames, cross linked issues, etc). If not however, it is the contributor's responsibility to ensure that proper attribution is made based. +Attribution of content in public forums is typically maintained by the appropriate forum (e.g. threads, usernames, cross linked issues, etc). If not however, it is the contributor's responsibility to ensure that proper attribution is made. diff --git a/ONBOARDING.md b/ONBOARDING.md index 5380a50..44c0a2e 100644 --- a/ONBOARDING.md +++ b/ONBOARDING.md @@ -45,7 +45,7 @@ FarmData2 has been used in a number of undergraduate computer science courses an The activities will guide you from an introduction to FOSS and FarmData2, through installation of FarmData2 and then through the use of each of the key technologies used in FarmData2. Each activity includes practice using the technologies within the context of FarmData2. Thus, you'll learn not only the technologies, but will get comfortable working within the FarmData2 developer environment as well. -If you use these activities, please keep in mind that they were created for use as assignments in courses. Thus, you shouldn't feel obligated to answer every question and you should skip over any class specific parts that don't make sense outside of a course. When you have completed all of the activities you'll be well on your way to being a FarmData2 developer. In addition, while these activites will be updated as FarmData2 evolves, they may not be fully in synch with the latest code in the repository. If you run in to any issues, use the +If you use these activities, please keep in mind that they were created for use as assignments in courses. Thus, you shouldn't feel obligated to answer every question and you should skip over any class specific parts that don't make sense outside of a course. When you have completed all of the activities you'll be well on your way to being a FarmData2 developer. In addition, while these activities will be updated as FarmData2 evolves, they may not be fully in synch with the latest code in the repository. If you run in to any issues, use the - 01 - Introduction to FOSS & The FarmData2 Community [ [docx](media/Activities/01-IntroToFarmData2.docx) | [pdf](media/Activities/01-IntroToFarmData2.pdf) ] - 02 - FarmData2 Developer Install [ [docx](media/Activities/02-DeveloperInstall.docx) | [pdf](media/Activities/02-DeveloperInstall.pdf) ] @@ -138,7 +138,7 @@ The FarmData2 front end exchanges data with the server using the [FarmOS API](ht - Resources: - [What is an API and how does it work?](https://www.youtube.com/watch?v=Yzx7ihtCGBs): A video introduction to APIs with a few examples.This is a good place to start if you are new to APIs. - [Using Axios to Consume APIs](https://vuejs.org/v2/cookbook/using-axios-to-consume-apis.html): A short example of a `GET` request using Axios and Vue.js. - - [Axios](https://github.com/axios/axios): Full documentation for the axios library. This show how to do both `GET` and `POST` requests. + - [Axios](https://github.com/axios/axios): Full documentation for the Axios library. This show how to do both `GET` and `POST` requests. - [FarmOS API](https://farmos.org/development/api/): Documentation for the FarmOS API. - [Hoppscotch](https://hoppscotch.io/): A tool for experimenting with API calls. This can be useful in figuring out how to request what you want from the FarmData2 API and how its responses are formatted. @@ -151,7 +151,7 @@ The FarmData2 front end exchanges data with the server using the [FarmOS API](ht #### Cypress #### -The functionality of FarmData2 is tested using the [Cypress framework](https://www.cypress.io/). The tests in FarmData2 consist of end-to-end tests and component tests. The end-to-end tests run against the developer instance of FarmData2 and check the functionality of the pages. The component tests check the behavior of custom components that appear in FarmData2, in isolation from the runing instance. FarmData 2 provides support for running both types of Cypress tests in a Docker container that eliminates the need to install or configure Cypress. See the documentation in the [farmdata2_modules/fd2_tabs/README.md](https://github.com/DickinsonCollege/FarmData2/blob/main/farmdata2_modules/fd2_tabs/fd2_example/README.md) file for information about runing Cypress tests in FarmData2. +The functionality of FarmData2 is tested using the [Cypress framework](https://www.cypress.io/). The tests in FarmData2 consist of end-to-end tests and component tests. The end-to-end tests run against the developer instance of FarmData2 and check the functionality of the pages. The component tests check the behavior of custom components that appear in FarmData2, in isolation from the running instance. FarmData 2 provides support for running both types of Cypress tests in a Docker container that eliminates the need to install or configure Cypress. See the documentation in the [farmdata2_modules/fd2_tabs/README.md](https://github.com/DickinsonCollege/FarmData2/blob/main/farmdata2_modules/fd2_tabs/fd2_example/README.md) file for information about running Cypress tests in FarmData2. ##### End-to-End Tests ##### @@ -164,7 +164,7 @@ The Cypress end-to-end test framework works by controlling the web browser. A te - Resources - [Introduction to Cypress](https://docs.cypress.io/guides/core-concepts/introduction-to-cypress.html): As the docs say... "the single most important guide for understanding how to test with Cypress. Read it. Understand it." - - [Writing Your First Test](https://docs.cypress.io/guides/getting-started/writing-your-first-test.html#Add-a-test-file): A good overview of how a typical cypres test work, what the code looks like and how to use the cypress test runner. + - [Writing Your First Test](https://docs.cypress.io/guides/getting-started/writing-your-first-test.html#Add-a-test-file): A good overview of how a typical cypress test works, what the code looks like and how to use the cypress test runner. - [Selecting Elements](https://docs.cypress.io/guides/references/best-practices.html#Selecting-Elements): Best practices for selecting elements that are manipulated and checked by your tests. Following these will make you tests less brittle. - [Selector Playground](https://docs.cypress.io/guides/core-concepts/test-runner.html#Selector-Playground): A tool within the cypress test runner that will help you find good selectors to use for the elements used in your tests. - [Interacting with Elements](https://docs.cypress.io/guides/core-concepts/interacting-with-elements): The main commands in cypress for interacting with elements in the page (e.g. click, select, etc.) @@ -221,4 +221,4 @@ farmOS runs on top of Drupal. From the FarmData2 perspective this is largely tra #### drush #### -For a few particular tasks related to initializtion and configuration FarmData2 makes use of [drush](https://www.drush.org/latest/) to interact with the Drupal instance on which farmOS is running. As it is discovered that more information is necessary it will be added here. +For a few particular tasks related to initialization and configuration FarmData2 makes use of [drush](https://www.drush.org/latest/) to interact with the Drupal instance on which farmOS is running. As it is discovered that more information is necessary it will be added here. diff --git a/README.md b/README.md index 9d26f8e..58301fd 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ FarmData2 is an application that supports the operation and certification requir ### Description ### -FarmData2 is a web application for recording and reporting on crop and livestock production within the context of small organic farming operations. Crop production records include seeding, transplanting, harvest, cover crop, compost, fertilization, irrigation, pest scouting, and spray activities. Livestock production records track animals from birth to slaughter or sale and include pasture moves, periodic and veterinary care and logging of egg production. Records of packing, distribution and customer invoicing are also maintained. All records and reporting features are designed to closely align with organic certification requirements and to support the certification and recertification process. +FarmData2 is a web application for recording and reporting on crop and livestock production within the context of small organic farming operations. Crop production records include seeding, transplanting, harvest, cover crop, compost, fertilization, irrigation, pest scouting, and spray activities. Livestock production records track animals from birth to slaughter or sale and include pasture moves, periodic and veterinary care, and logging of egg production. Records of packing, distribution and customer invoicing are also maintained. All records and reporting features are designed to closely align with organic certification requirements and to support the certification and recertification process. ### Installing FarmData2 ### @@ -22,7 +22,7 @@ If you are unfamiliar with [Zulip](https://zulip.com/) it is a group chat applic ### History ### -FarmData2 is both a _second_ edition of it predecessor, FarmData, and the integration of _two_ related projects FarmData and AnimalData. These projects were conceived and built by Tim Wahls, Matt Steiman and many students to support operation of the Dickinson College Farm. The FarmData2 project was initiated as a part of curricular redesign in the Computer Science Department at Dickinson College. It is now an active part of several courses in the curriculum. It provides students in these courses with early and sustained opportunities to learn and practice modern software development within the context of an open source software community. +FarmData2 is both a _second_ edition of its predecessor, FarmData, and the integration of _two_ related projects FarmData and AnimalData. These projects were conceived and built by Tim Wahls, Matt Steiman and many students to support operation of the Dickinson College Farm. The FarmData2 project was initiated as a part of curricular redesign in the Computer Science Department at Dickinson College. It is now an active part of several courses in the curriculum. It provides students in these courses with early and sustained opportunities to learn and practice modern software development within the context of an open source software community. ### Acknowledgements ###