{"id":24689580,"url":"https://github.com/lucasdota/periodic_table","last_synced_at":"2026-04-13T13:31:55.952Z","repository":{"id":222691991,"uuid":"757519088","full_name":"Lucasdota/periodic_table","owner":"Lucasdota","description":"Periodic table project from freeCodeCamp","archived":false,"fork":false,"pushed_at":"2024-02-15T18:00:17.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-08T18:06:01.995Z","etag":null,"topics":["backend","bash","postgresql"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/Lucasdota.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,"publiccode":null,"codemeta":null}},"created_at":"2024-02-14T16:53:58.000Z","updated_at":"2024-02-15T18:00:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"3292c2f9-c85d-495c-912f-bed8376665ef","html_url":"https://github.com/Lucasdota/periodic_table","commit_stats":null,"previous_names":["lucasdota/periodic_table"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Lucasdota/periodic_table","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lucasdota%2Fperiodic_table","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lucasdota%2Fperiodic_table/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lucasdota%2Fperiodic_table/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lucasdota%2Fperiodic_table/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lucasdota","download_url":"https://codeload.github.com/Lucasdota/periodic_table/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lucasdota%2Fperiodic_table/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31754849,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T13:27:56.013Z","status":"ssl_error","status_checked_at":"2026-04-13T13:21:23.512Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["backend","bash","postgresql"],"created_at":"2025-01-26T18:16:28.952Z","updated_at":"2026-04-13T13:31:55.921Z","avatar_url":"https://github.com/Lucasdota.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## freeCodeCamp Project using Postgres and Bash\n\n### Instructions that I had to follow:\nYou are started with a periodic_table database that has information about some chemical elements. You can connect to it by entering psql --username=freecodecamp --dbname=periodic_table in the terminal. You may want to get a little familiar with the existing tables, columns, and rows. Read the instructions below and complete user stories to finish the project. Certain tests may not pass until other user stories are complete. Good luck!\n\nPart 1: Fix the database\n\nThere are some mistakes in the database that need to be fixed or changed. See the user stories below for what to change.\n\nPart 2: Create your git repository\n\nYou need to make a small bash program. The code needs to be version controlled with git, so you will need to turn the suggested folder into a git repository.\n\nPart 3: Create the script\n\nLastly, you need to make a script that accepts an argument in the form of an atomic number, symbol, or name of an element and outputs some information about the given element. In your script, you can create a PSQL variable for querying the database like this: PSQL=\"psql --username=freecodecamp --dbname=\u003cdatabase_name\u003e -t --no-align -c\", add more flags if you need to.\n\nNotes:\nIf you leave your virtual machine, your database may not be saved. You can make a dump of it by entering pg_dump -cC --inserts -U freecodecamp periodic_table \u003e periodic_table.sql in a bash terminal (not the psql one). It will save the commands to rebuild your database in periodic_table.sql. The file will be located where the command was entered. If it's anything inside the project folder, the file will be saved in the VM. You can rebuild the database by entering psql -U postgres \u003c periodic_table.sql in a terminal where the .sql file is.\n\nIf you are saving your progress on freeCodeCamp.org, after getting all the tests to pass, follow the instructions above to save a dump of your database. Save the periodic_table.sql file, as well as the final version of your element.sh file, in a public repository and submit the URL to it on freeCodeCamp.org.\n\nComplete the tasks below\n\nYou should rename the weight column to atomic_mass\n\nYou should rename the melting_point column to melting_point_celsius and the boiling_point column to boiling_point_celsius\n\nYour melting_point_celsius and boiling_point_celsius columns should not accept null values\n\nYou should add the UNIQUE constraint to the symbol and name columns from the elements table\n\nYour symbol and name columns should have the NOT NULL constraint\n\nYou should set the atomic_number column from the properties table as a foreign key that references the column of the same name in the elements table\n\nYou should create a types table that will store the three types of elements\n\nYour types table should have a type_id column that is an integer and the primary key\n\nYour types table should have a type column that's a VARCHAR and cannot be null. It will store the different types from the type column in the properties table\n\nYou should add three rows to your types table whose values are the three different types from the properties table\n\nYour properties table should have a type_id foreign key column that references the type_id column from the types table. It should be an INT with the NOT NULL constraint\n\nEach row in your properties table should have a type_id value that links to the correct type from the types table\n\nYou should capitalize the first letter of all the symbol values in the elements table. Be careful to only capitalize the letter and not change any others\n\nYou should remove all the trailing zeros after the decimals from each row of the atomic_mass column. You may need to adjust a data type to DECIMAL for this. The final values they should be are in the atomic_mass.txt file\n\nYou should add the element with atomic number 9 to your database. Its name is Fluorine, symbol is F, mass is 18.998, melting point is -220, boiling point is -188.1, and it's a nonmetal\n\nYou should add the element with atomic number 10 to your database. Its name is Neon, symbol is Ne, mass is 20.18, melting point is -248.6, boiling point is -246.1, and it's a nonmetal\n\nYou should create a periodic_table folder in the project folder and turn it into a git repository with git init\n\nYour repository should have a main branch with all your commits\n\nYour periodic_table repo should have at least five commits\n\nYou should create an element.sh file in your repo folder for the program I want you to make\n\nYour script (.sh) file should have executable permissions\n\nIf you run ./element.sh, it should output only Please provide an element as an argument. and finish running.\n\nIf you run ./element.sh 1, ./element.sh H, or ./element.sh Hydrogen, it should output only The element with atomic number 1 is Hydrogen (H). It's a nonmetal, with a mass of 1.008 amu. Hydrogen has a melting point of -259.1 celsius and a boiling point of -252.9 celsius.\n\nIf you run ./element.sh script with another element as input, you should get the same output but with information associated with the given element.\n\nIf the argument input to your element.sh script doesn't exist as an atomic_number, symbol, or name in the database, the only output should be I could not find that element in the database.\n\nThe message for the first commit in your repo should be Initial commit\n\nThe rest of the commit messages should start with fix:, feat:, refactor:, chore:, or test:\n\nYou should delete the non existent element, whose atomic_number is 1000, from the two tables\n\nYour properties table should not have a type column\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasdota%2Fperiodic_table","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasdota%2Fperiodic_table","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasdota%2Fperiodic_table/lists"}