{"id":24508538,"url":"https://github.com/adygcode/ajg-ictprg302-at1","last_synced_at":"2025-03-15T09:21:16.982Z","repository":{"id":224507281,"uuid":"763395323","full_name":"AdyGCode/ajg-ictprg302-at1","owner":"AdyGCode","description":"ICTPRG302 Portfolio work for Parts 1 and 2","archived":false,"fork":false,"pushed_at":"2024-02-27T04:48:51.000Z","size":343,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T00:16:35.693Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdyGCode.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-26T08:05:02.000Z","updated_at":"2024-02-26T08:52:30.000Z","dependencies_parsed_at":"2024-02-26T10:58:42.520Z","dependency_job_id":"a6816fe1-8dec-4390-8301-e6dbc945fa0f","html_url":"https://github.com/AdyGCode/ajg-ictprg302-at1","commit_stats":null,"previous_names":["adygcode/ajg-ictprg302-at1"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2Fajg-ictprg302-at1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2Fajg-ictprg302-at1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2Fajg-ictprg302-at1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2Fajg-ictprg302-at1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdyGCode","download_url":"https://codeload.github.com/AdyGCode/ajg-ictprg302-at1/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243707963,"owners_count":20334737,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-22T00:16:47.921Z","updated_at":"2025-03-15T09:21:16.956Z","avatar_url":"https://github.com/AdyGCode.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ICTPRG302 Portfolio Work\n\nThis **Private** repository contains the work for ICTPRG302 Portfolio Parts 1 and 2.\n\n## Contributors\n\n- Adrian Gould (Lecturer) \u003cadrian.gould@nmtafe.wa.edu.au\u003e\n- YOUR NAME (Student) \u003cSTUDENT_ID@tafe.wa.edu.au\u003e\n\n\n## Using Your Repository\n\nComplete the exercise you have been requested to do in the Assessment.\n\nOnce it is working, make sure that the code has at least the following line before any code in Py4E.\n\n```python\n# YOUR_NAME, STUDENT ID\n```\n\nMake sure to replace:\n\n- `YOUR_NAME` with your full name, and\n- `STUDENT_ID` with your student ID.\n\nWe also suggest adding the following as the next line:\n\n```python\n# Py4E Exercise X.Y\n```\n\nReplacing the X.Y with the exercise number from the Assessment document.\n\nOnce you have it all working do the following:\n\n- Create a new Python file in the correct chapter folder (e.g. Exercise 10.2 is placed in `ch-11`.) with the\n  name `ex-X-Y.py` (e.g. Exercise 10.2 would be saved in a file `ex-10-2.py`.)\n- Copy your Python code from Py4E and paste into your new file.\n- Save the File (`CTRL`+`S`)\n- Add the Python File to your repository using\n\n```shell\ngit add ch-xx\\ex-xx.py\n```\n\nOnce all the exercises from the chapter are completed, complete these next steps:\n\n- Tick off the exercise(s) in the `ReadMe.md` file,\n- Use `git add` to add the `ReadMe.md` to staging,\n- Commit the files using `git commit`, making sure that the `X` is replaced with the correct chapter number.\n\n```shell\ngit commit -m \"feat: Complete Chapter-X exercises.\"\n```\n\n# Checklist of Py4E Exercises\n\nReplace the [ ] with [X] when you have completed the exercise.\n\n- [ ] [Chapter 2](ch-02)\n    - [ ] Py4E 1.1 (Hello World)\n- [ ] [Chapter 3](ch-3)\n    - [ ] Py4E 2.2\n    - [ ] Py4E 2.3\n- [ ] [Chapter 4](ch-4)\n    - [ ] Py4E 3.1\n    - [ ] Py4E 3.3\n- [ ] [Chapter 5](ch-5)\n    - [ ] Py4E 4.6\n- [ ] [Chapter 6](ch-6)\n    - [ ] Py4E 5.2\n- [ ] [Chapter 7](ch-7)\n    - [ ] Py4E 6.5\n- [ ] [Chapter 8](ch-8)\n    - [ ] Py4E 7.2\n- [ ] [Chapter 9](ch-9)\n    - [ ] Py4E 8.4\n    - [ ] Py4E 8.5\n- [ ] [Chapter 10](ch-10)\n    - [ ] Py4E 9.4\n- [ ] [Chapter 11](ch-11)\n    - [ ] Py4E 10.2\n\n# Setting Up This Portfolio\n\n\u003e NOTE: These steps presume you are using MS Windows and have Microsoft Terminal and Git installed via git-scm or\n\u003e Laragon. We also presume you have a GitHub account.\n\n### Create a Repository on GitHub\n\nLog into your GitHub profile.\n\nCreate a new repository using the New + button:\n\n![img.png](assets/img.png)\n\nThen fill out the settings...\n\n- Name the repository as `XXX-ICTPRG302-AT1` where `XXX` are your initials\n- Add a description of ICTPRG302 Portfolio work for Parts 1 and 2\n\n![img_1.png](assets/img_1.png)\n\n- Change the repository to a PRIVATE one\n  ![img_2.png](assets/img_2.png)\n\n- Make sure that the other options are unchecked or blank:\n\n![img_3.png](assets/img_3.png)\n\nClick Create Repository\n\n![img_4.png](assets/img_4.png)\n\n## Create Local Clone of Repository\n\nOpen Microsoft Terminal (or the equivalent for your operating system).\n\nCreate a new Git-Bash shell (see notes on the TAFE LMS).\n\nUse the following commands to change into the `Source/Repos` folder and create a new folder for this project, then\nchange into this new folder:\n\n```shell\ncd ~/Source/Repos\ngit clone https://github.com/AdyGCode/xxx-ictprg301-at1.git\n```\n\nIt will tell you that you cloned an empty repository.\n\nChange into the new folder:\n\n```shell\ncd xxx-ICTPRG302-AT1\n```\n\nRemember to replace `xxx` with your initials.\n\nNow execute the following commands to create an empty ReadMe file and add it to version control.\n\n```shell\ntouch ReadMe.md\ngit add ReadMe.md\n```\n\nNext we will create folders for each chapter of Py4E's exercises.\n\n```shell\nmkdir ch-{01,02,03,04,05,06,07,08,09,10,11}\ntouch ch-01/.keep\n```\n\nWe also have created a hidden file (`.keep`) in `ch-01` folder.\n\n## Editing the ReadMe\n\nOpen PyCharm.\n\nOpen the now existing project by using the \"New Project\" button.\nThis will allow us to create a Python Virtual Environment at the same time.\n\n![img_5.png](assets/img_5.png)\n\nNow give the project the same name as the folder that the git clone command created,\nand select the correct parent folder for this folder.\n\n![img_6.png](assets/img_6.png)\n\nMake sure that the \"create main.py\" file is ticked, and that the interpreter type is set to \"Project venv\".\nThe Python version should show something similar to `Python 3.12.1`. DO NOT use Python 2 in any form.\n\n![img_7.png](assets/img_7.png)\n\nClick Create.\n\nAs the folder has folders and files we will use the \"Create from Existing Source\" option:\n\n![img_8.png](assets/img_8.png)\n\nPycharm will now complete the project setup by \ncreating the virtual environment, and may ask \nif you wish to add `main.py` to version control. \nYou may elect to do so.\n\n## Creating a `.gitignore` file using the `.ignore` plugin\n\nWe need to make a `.gitignore` file. The easiest way to do this is to use the \".ignore\" plugin.\n\nOpen the PyCharm Settings using `CTRL`+`ALT`+`S`.\n\nLocate and click on Plugins.\n\n![img_9.png](assets/img_9.png)\n\nOn the tabs on the right, click Marketplace.\n\nBy default, the \".ignore\" plugin is usually in the \"staff picks\".\n\nClick on it to select then click the `INSTALL` button (not shown here as \nit is already installed on this copy of PyCharm).\n\n![img_10.png](assets/img_10.png)\n\nAccept any 3rd party notice, and Pycharm will go ahead and add the plugin.\n\nOnce completed, click OK.\n\nIf Pycharm Asks you to restart then do so.\n\nOnce you are back in the main editor for the project you are now able to create the \".ignore\" file.\n\n### Making the `.gitignore` file\n\nRight Mouse click on the Project name (on the left of the IDE).\n\nHover over New...\n\n![img_11.png](assets/img_11.png)\n\nWhen the pop-out appears move over the new area and at the bottom you will see .ignore file...\n\n![img_12.png](assets/img_12.png)\n\nThis will then pop-out a new area, and you will find .gitignore at the top.\n\n![img_13.png](assets/img_13.png)\n\nClick on this to open the .ignore generator dialog box:\n\n![img_14.png](assets/img_14.png)\n\nYou will not have any starred templates, but we will resolve this.\n\nTo add files that are associated with a particular application, framework or language we simply tick the box next to the\nname.\n\n![img_15.png](assets/img_15.png)\n\nTo make a 'template` a favourite we locate it in the list, select it by clicking on the name, then clicking the * at the\ntop of the list:\n\n![img_16.png](assets/img_16.png)\n\nThis adds the template to the list of starred ones (favourites).\n\nOur suggested list is:\n\n- Archives\n- Backup\n- Flask\n- Intellij\n- LibreOffice\n- Linux\n- Microsoft Office\n- Python\n- VirtualEnv\n- Visual Studio\n- Visual Studio Code\n- Windows\n- MacOS\n\nOnce you have your selected ignores, tick the Generate without duplicates option.\n\nNow click on Generate to make the new .gitignore.\n\n![img_17.png](assets/img_17.png)\n\nPyCharm may ask if you wish to add the file(s) to Git then you may click ADD.\n\n## Committing the Start of the Portfolio\n\nAdd any changed files:\n\n```shell\ngit add ReadMe.md\ngit add .gitignore\ngit add .idea/\n```\n\n\u003e **IMPORTANT**: A little more dangerous approach is to use `git add .`\n\u003e but beware... this will add **ALL FILES AND FOLDERS** that are\n\u003e in the project **UNLESS THEY ARE .IGNORED**!\n\n\nNow commit these files to the repo with a message that you are starting the repo:\n\n```shell\ngit commit -m \"init: Create new repository for ICTPRG302 Portfolio\"\n```\n\nFinally, push the changes to the remote:\n\n```shell\ngit push -u origin main\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadygcode%2Fajg-ictprg302-at1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadygcode%2Fajg-ictprg302-at1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadygcode%2Fajg-ictprg302-at1/lists"}