Open MMikhailova opened 2 years ago
Week 1
-I understand NPM very theoretically
I am still in process of preparation to Sunday
@MMikhailova you have done so much and nice to see that you have figured out a lot on your own and that you can help other classmates!
for now, it is enough to be able to read the scripts section of a package.json file to see what scripts are already configured for a specific project that you can run locally.
yes, you should fix all errors & warnings locally, to make sure that the tests pass on GitHub
indeed, git log and git checkout an older commit allows you yo return to a previous state of the git repo.
we will have all kinds of merge conflicts coming up when you start to work together next week π
Thank you @danielhalasz!
Week 2
I am still in process of preparation to Sunday
@MMikhailova being able to solve merge conflicts is a great skill to have! glad to hear that you have practiced it, there will be plenty more to come π you do not need to know more about package.json for now other than to check the scripts that are already existing for some repos. sometimes you might see that a dependency was updated, in that case you can keep the newer version when solving the merge conflict. Yaml and json files are both used to store data in a slightly different way, so you can read about their benefits and drawbacks here, but this is optional, you do not need to know this now: https://www.imaginarycloud.com/blog/yaml-vs-json-what-is-the-difference/
@danielhalasz Thank you! Even if I don't need some info right now I really appreciate when you and other coaches find a time to explain what this info is about. It makes the bunch of unanswered questions in our heads a little less:smiley:
I don't really have much difficulties related to assignments and learning materials.
However, sometimes I get stuck with general understanding of WHAT we are doing and WHY we are doing this.
For example, why should we use npm, solve conflicts, what are dependencies and etc.
After a while I understood the meaning of course, but at first I was stuck with HOW we can do it more than WHY.
I love how the course is organised. Many thanks to the coaches for their contribution:clap:
I have mastered Git, Visual Studio Code (VSCode), the Command Line Interface (CLI) and NPM scripts to automate my code's quality (formatting, linting and spell checking).
I am now able to do local/remote development.
I've managed the group project by using GitHub Project management features.
General understanding of how to apply my new knowledge.
I learn new things relatively fast, so I always try to help those who are stuck at some point.
Explanation of small and easy to find things that everyone can google on their own.
Some materials are stored in HYF repo and some in lab-brussels-1 which can sometimes be confusing.
Not a big deal though:smile:
Please keep doing what you do, it's great!:sparkles:
Some materials are stored in HYF repo and some in lab-brussels-1 which can sometimes be confusing.
The idea behind this was to have general info that you'll need for the whole course in the class repo, information about how to succeed at HYF. The module repositories contain the specific information you're expected to learn in that module.
If this isn't a helpful way to split the info, or if you have a better idea, let us know!
@MMikhailova indeed, you are right, this can be a bit confusing at the start, however, as there are changes made to the core modules, if they are managed in one place (rather then in every different class repo) it is more consistent and easier to update.
as for past class final projects, you can check some of them here:
https://github.com/HYF-Connect/hyf-connect https://github.com/BeHelp/BeHelp https://github.com/Hand-And-Paw/hand-and-paw https://github.com/IrinaSing/Readeer https://github.com/hyf-Group2-fp/Just4Giving
Hello @danielhalasz and @colevandersWands!
Thank you for dedicating time to respond and explain everything.
I totally understood the organization logic of HYF modules and I am used to navigating.
The examples of past projects are also very helpfulπ
Hope to do my best in learning at HYFβΊοΈ
Learning Objectives
Priorities: π₯, π£, π₯, π (click to learn more)
There is a lot to learn in this repository. If you can't master all the material at once, that's expected! Anything you don't master now will always be waiting for you to review when you need it. These 4 emoji's will help you prioritize your study time and to measure your progress: - π₯: Understanding this material is required, it covers the base skills you'll need for this module and the next. You do not need to finish all of them but should feel comfortable that you could with enough time. - π£: You have started all of these exercises and feel you could complete them all if you just had more time. It may not be easy for you but with effort you can make it through. - π₯: You have studied the examples and started some exercises if you had time. You should have a big-picture understanding of these concepts/skills, but may not be confident completing the exercises. - π: These concepts or skills are not necessary but are related to this module. If you are finished with π₯, π£ and π₯ you can use the π exercises to push yourself without getting distracted from the module's main objectives. ---
π₯ 0. Local Development Without Git
Practice the foundational workflows of software development by learning to write Markdown locally on your own computer using Visual Studio Code (VSCode), the Command Line Interface (CLI), and NPM scripts to automate your code's quality (formatting, linting and spell checking).
cd
ls
cat
touch
mkdir
npm install
to install a project's dependenciespackage.json
file to find which scripts are available for the projectnpm run <script>
to execute an npm scriptnpm run format
to format all of the documents in your projectnpm run format:check
to make sure all files are well-formattednpm run lint:md
to check all Markdown files in your folder for linting mistakesnpm run lint:md
npm run spell-check
to check the spelling in all the files of your project.cspell.json
to add words that should be allowed in your projectnpm run lint:ls
to check that all files and folders follow the project's naming conventions.π₯ 1. Local Development With Git
Practice using Git to save and organize your development process. You will learn how you can use Git to go back to previous versions of your project, and to work on different changes in parallel.
git init
git add <path>
git commit -m <message>
git log
git branch <branch-name>
git checkout <branch-name>
git checkout -b <branch-name>
git merge <branch-name>
git log
andgit checkout <commit-hash>
git stash
andgit pop
.gitignore
: You can use a.gitignore
file to describe which files you don't want included in your git history.main
when they are finished.π₯ 1. Local/Remote Development
Learn how you can connect your local Git repositories with a GitHub repository to add more structure to your development process and to share your projects.
main
main
until Continuous Integration (CI) checks have passedpush
andpull
changes between remote & local branchesmain
.main
branch.main
branch and prevents conflicts from happening in GitHub. For each contribution to the project you can ...main
on your local machinemain
to localmain
main
to your new branchmain
main
π£ 3. Remote Collaboration
Learn how to collaborate with a group on a single project hosted in a GitHub repository. Practice using GitHub's project management features to organize your group's tasks and to double-check your project's code quality.
main
.π₯ 4. Open Source Development
Explore the wider world of Open Source software by learning how communities of independent developers write and maintain the code we all rely on.