{"id":26762287,"url":"https://github.com/digitalflow/open-certification-trainer","last_synced_at":"2025-04-15T09:27:21.192Z","repository":{"id":42231074,"uuid":"109906195","full_name":"DigitalFlow/Open-Certification-Trainer","owner":"DigitalFlow","description":"A free and open website for learning and training for certifications","archived":false,"fork":false,"pushed_at":"2024-01-03T22:33:39.000Z","size":658,"stargazers_count":20,"open_issues_count":10,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T18:51:39.699Z","etag":null,"topics":["certification","choice","exam","free","multiple","multiple-choice","multiple-choice-tests","open","question","react","test","trainer","website"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DigitalFlow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-11-08T00:13:06.000Z","updated_at":"2024-12-05T08:04:32.000Z","dependencies_parsed_at":"2025-03-28T18:37:05.184Z","dependency_job_id":"30b5f34f-b964-49ce-b81a-e94dced1ee8c","html_url":"https://github.com/DigitalFlow/Open-Certification-Trainer","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DigitalFlow%2FOpen-Certification-Trainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DigitalFlow%2FOpen-Certification-Trainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DigitalFlow%2FOpen-Certification-Trainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DigitalFlow%2FOpen-Certification-Trainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DigitalFlow","download_url":"https://codeload.github.com/DigitalFlow/Open-Certification-Trainer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249042128,"owners_count":21203221,"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":["certification","choice","exam","free","multiple","multiple-choice","multiple-choice-tests","open","question","react","test","trainer","website"],"created_at":"2025-03-28T18:36:57.987Z","updated_at":"2025-04-15T09:27:21.174Z","avatar_url":"https://github.com/DigitalFlow.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Open Certification Trainer [![Build Status](https://travis-ci.org/DigitalFlow/Open-Certification-Trainer.svg?branch=master)](https://travis-ci.org/DigitalFlow/Open-Certification-Trainer)\nThis is a website for assisting in training for certifications.\nIt was built using the awesome React framework.\n\n## Purpose\nWhen having to learn for certifications, it is often useful to use multiple choice questions, as they are a common certification format.\nThis website is able to host courses with questions and their corresponding answers.\n\nYou can view them and take assessments, where your knowledge is checked.\nMore and more functions will be coming as the project progresses.\n\n## Features\n- Certification Management (Create, Edit)\n- User Management\n- Post (News) Management\n- Learn using overview modes\n- Train using assessment mode\n- Find your weaknesses using session history and charts\n\n## Installation\nThis project was tested on Arch Linux, Ubuntu and Windows 10.\nYou'll need to have [NodeJS](https://nodejs.org/en/) and [PostgreSQL](https://www.postgresql.org/) installed. For NodeJS, the latest LTS version is recommended, which is 8.9.4 at the time of writing. PostgreSQL should be used in at least version 10.1.\n\nRestore the database schema using the databaseSchema.sql file in the project root while following the instructions in there.\n\nFor restoring, you should use psql, which is bundled with every PostgreSQL installation.\nFor me it was installed at `C:\\Program Files\\PostgreSQL\\10\\bin`. I added it to my Windows path, so that it can be used without having to specify the full folder every time. When installing PostgreSQL on Linux, psql should become available automatically.\n\nCreate a user named dev and give it a password using the command `sudo -u postgres createuser -P -d dev`.\nFor importing the database schema, open your PowerShell and enter:\n`psql -U postgres -h localhost -d postgres -f \"C:\\Open-Certification-Trainer\\dataBaseSchema.sql\"`\n\nWhere -U is the user name of your root user (usually postgres), -h is the server (can be ommitted if localhost), -d is the database (postgres is the default database) and -f is the file location of your database schema.\n\nAfter restoring the database, there will be an admin user for open certification trainer with user name and password root.\nAfterwards, clone the project, navigate to the project folder using your PowerShell / Bash, and launch\n\n`npm install`\n\nOnce this installed all packages, you can edit the .env.config, where you'll have to update the database user login settings for your environment. For production use, you should generate some key for usage as your own JWT secret.\nWhen done, you can start the website by running\n\n`npm start`.\n\nAfterwards the site can be accessed on http://localhost:8080. \n\nIf you're receiving an error like \n\n```JavaScript\nconst { token } = req.cookies;\n\nSyntaxError: Unexpected token {\n```\n\nyou should consider updating your node server. As described above, we recommend using the latest LTS version, which is 8.9.4 at the time of writing.\n\nYou can also configure the site to be accessed using a DNS name.\nUse the CERT_TRAINER_VHOST variable and set it to the domain name you'd like.\nAfterwards make sure to edit the /etc/hosts file (Linux + Windows) on your host server.\nIf you plan on using this tool in your company, you need to configure your company's DNS server to redirect to your host server for the domain you configured.\n\nFor production use, consider running the server using [forever](https://github.com/foreverjs/forever).\n\n## Courses\nCourses can be imported using the Certification Management page.\nYou can press \"Create New Certification\" and then either enter your certification manually or import a JSON file.\nFor the format of your courses, please take a look at the demoCert.json file in the project root.\nIDs for the certification, questions and answers don't have to be set in your import file, they will be generated automatically if they're missing.\n\n## Impressions\n### Sign Up\n![signup](https://user-images.githubusercontent.com/4287938/34416337-487fabb4-ebf3-11e7-8e28-dfa8ed40b05c.gif)\n\n### Log In\n![login](https://user-images.githubusercontent.com/4287938/34416333-482f4016-ebf3-11e7-8079-4220be37c31d.gif)\n\n### Study\nSelect a certification / course and take a look at the questions contained including the correct answers.\n![study](https://user-images.githubusercontent.com/4287938/34416338-4899c27e-ebf3-11e7-9fc7-672fe357ac2e.gif)\n\n### Train\nTake an assessment for a certification. You will have to answer all questions contained in the course, but questions and answers are shuffled. Once you're done, the course will be regarded as passed, if you answered 70% or more of the questions correctly.\n![train](https://user-images.githubusercontent.com/4287938/34416339-48b35efa-ebf3-11e7-8988-43d3074c45c9.gif)\n\n### Check your learning progress\n![check](https://user-images.githubusercontent.com/4287938/34416332-48137fa2-ebf3-11e7-8650-13ee45e2c416.gif)\n\n### GUI Management of Certifications\n![management](https://user-images.githubusercontent.com/4287938/34416334-484b4c70-ebf3-11e7-8152-c3119cfaf359.gif)\n\n### Post / News Management\n![posts](https://user-images.githubusercontent.com/4287938/34416335-48645b20-ebf3-11e7-9b6e-d98a6eb882cf.gif)\n\n## License\nLicensed using the MIT license, happy learning!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalflow%2Fopen-certification-trainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigitalflow%2Fopen-certification-trainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalflow%2Fopen-certification-trainer/lists"}