{"id":20359144,"url":"https://github.com/khlam/character_vault","last_synced_at":"2026-07-02T23:34:41.407Z","repository":{"id":71173132,"uuid":"191677004","full_name":"khlam/Character_Vault","owner":"khlam","description":"Dungeons and Dragons 5e character repository","archived":false,"fork":false,"pushed_at":"2019-06-13T02:09:41.000Z","size":6025,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-04T06:46:17.570Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":false,"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/khlam.png","metadata":{"files":{"readme":"readme.org","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":"2019-06-13T02:31:23.000Z","updated_at":"2019-08-09T01:20:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"2d85a0d7-f413-4346-92f3-bc1c3f6c24c1","html_url":"https://github.com/khlam/Character_Vault","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/khlam/Character_Vault","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khlam%2FCharacter_Vault","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khlam%2FCharacter_Vault/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khlam%2FCharacter_Vault/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khlam%2FCharacter_Vault/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/khlam","download_url":"https://codeload.github.com/khlam/Character_Vault/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khlam%2FCharacter_Vault/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35067031,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-14T23:31:20.922Z","updated_at":"2026-07-02T23:34:41.384Z","avatar_url":"https://github.com/khlam.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"* Domain: access.engr.oregonstate.edu:{port}\n  \n* Setting up credentials\n  1. Edit your shells .rc file (for example .bashcs or .zshrc) adding the following lines.\n     #+BEGIN_SRC bash\n       export DATABASE_NAME=\"name of database\"\n       export DATABASE_USER=\"your database user name\"\n       export DATABASE_PASSWORD=\"your database password\"\n       export DATABASE_HOST=\"your databases host\"\n     #+END_SRC\n  2. Source your shell rc file\n     #+BEGIN_SRC bash\n       source .bashrc #For example\n     #+END_SRC\n* Starting the server\n  1. Download the repo\n     #+BEGIN_SRC bash\n       git clone git@github.com:zermish/Character_Vault.git\n     #+END_SRC\n  2. cd to the project directory and install dependencies\n     #+BEGIN_SRC bash\n       cd Character_Vault\n       npm install\n     #+END_SRC\n  3. Run the server with local forever module\n     #+BEGIN_SRC bash\n       ./node_modules/forever/bin/forever start server.js {port number goes here}\n     #+END_SRC\n   \n* Adding a new page \n  1. Create a {page name}.handlebars template in the views directory following handlebars conventions.\n  \n     *Example Handlebars Template:*\n     #+BEGIN_SRC html\n       \u003c!-- params is a js object pased into a GET request response --\u003e\n       \u003c!-- title is a key in the object --\u003e\n       \u003c!-- {{}} is used to evaluate expressions and return thier resuts as html --\u003e\n       \u003ch2\u003e{{params.title}}\u003c/h2\u003e\n       \u003cdiv\u003e\n           \u003cp\u003eThis is some normal html\u003c/p\u003e\n           \u003c!-- For each element in data, where data is a js object or array --\u003e\n           {{#each data}}\n           \u003c!-- create a span and evaluat the current element of data --\u003e\n           \u003cspan\u003e{{this}}\u003c/span\u003e\n           {{/each}}\n       \u003c/div\u003e\n     #+END_SRC\n  2. Add the page to the page_config.json file in the routes folder.\n     The page_config file is used to set which paths are valid and special parameters those paths are expecting.\n\n     In order to add a page to the file, create a new json object at the end of the list whos key matched the pages name exactly.\n\n     *For example:* if you made the page foo.handlebars the key should be \"foo\":{}.\n\n     Once added to the page_config file, the page will then be accessible from the path \"/{page name}.\n\n     Inside the page object, parameters can be set that will be specific to the page, like:\n\n     #+BEGIN_SRC json\n          \"foo\":{\n              \"title\":\"The Foobar page!\",\n              \"id\":23\n          }\n     #+END_SRC\n     \n  3. Note: All pages, other then the home page, will be passed 2 objects and an array automatically: paths (array of path names), params (object containing your specific page parameters defined earlier), and data (an object containing data to be displayed)\n\n* Project specifications\n  - Your database should be pre-populated with sample data.\n  - Your database should have at least 4 entities and at least 4 relationships, one of which must be a many-to-many relationship.\n  - It should be possible to *INSERT entries into every table individually*.\n  - *Every table should be used in at least one SELECT query*. For the SELECT queries, it is fine to just display the content of the tables, but your website needs to also have the ability to *search using text or filter using a dynamically populated list of properties*. This search/filter functionality should be present for *at least one entity*. It is generally not appropriate to have only a single query that joins all tables and displays them.\n  - You need to include *one DELETE and one UPDATE function in your website, for any one of the entities*. In addition, it should be possible to *add and remove things from at least one many-to-many relationship* and it should be possible to add things to all relationships. This means you need *INSERT functionality for all relationships as well as entities*. And DELETE for at least one many-to-many relationship.\n  - In a one-to-many relationship (like bsg_people to bsg_planets), you should be able to set the homeworld value to NULL (such as on a person in bsg_people). That removes the relationship. In case none of the one-to-many relationships in your database has partial participation, you would need to change that to make sure they can have NULL values.\n  - In a many-to-many relationship, to remove a relationship one would need to delete a row from a table. That would be the case with bsg_people and bsg_certifications. One should be able to add and remove certifications for a person without deleting either bsg_people rows or bsg_certification rows. If you implement DELETE functionality on at least (1) many-to-many relationship table, such that the rows in the relevant entity tables are not impacted, that is sufficient. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhlam%2Fcharacter_vault","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhlam%2Fcharacter_vault","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhlam%2Fcharacter_vault/lists"}