{"id":24510339,"url":"https://github.com/realkfiros/strp","last_synced_at":"2025-03-15T09:40:33.385Z","repository":{"id":123534958,"uuid":"153729251","full_name":"realKfiros/STRP","owner":"realKfiros","description":"Single Time Registration Page","archived":false,"fork":false,"pushed_at":"2018-10-20T20:46:02.000Z","size":18952,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-22T00:32:50.698Z","etag":null,"topics":["firebase-auth","firebase-cloud-functions","firebase-firestore","kotlin","swing","user-management"],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","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/realKfiros.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":"2018-10-19T05:06:03.000Z","updated_at":"2018-10-20T20:46:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"f7edc98f-a1bd-43ce-8ca7-cf0a7ed3bfdc","html_url":"https://github.com/realKfiros/STRP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realKfiros%2FSTRP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realKfiros%2FSTRP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realKfiros%2FSTRP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realKfiros%2FSTRP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/realKfiros","download_url":"https://codeload.github.com/realKfiros/STRP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243713392,"owners_count":20335566,"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":["firebase-auth","firebase-cloud-functions","firebase-firestore","kotlin","swing","user-management"],"created_at":"2025-01-22T00:28:28.531Z","updated_at":"2025-03-15T09:40:33.356Z","avatar_url":"https://github.com/realKfiros.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"*NOTE: THIS PROJECT IS A WORKING EXAMPLE THAT YOU CAN TRY YOURSELF IF YOU WANT, BUT IT'S NOT INTENDED TO DO THAT. YOU CAN USE THIS PROJECT TO BUILD YOUR OWN STRP SYSTEM, BUT REMEMBER THAT IT'S JUST AN EXAMPLE.*\n# STRP - Single Time Registration Page\n\nThis project is an example project that demonstrates how to create a registration page for only one time use and for only one email every time using a Firebase Cloud Firestore, Swing and Kotlin. \u003cbr/\u003e\nI also used in this project Firebase Cloud Functions in order to send an email with the registration key. I wrote the function with TypeScript. I'm sending the email from the function using the great Node.JS module [Nodemailer](https://github.com/nodemailer/nodemailer).\u003cbr/\u003e\nThis would be useful if you want to create an app but only for yourself and you want no one else to be able to create a user. \u003cbr/\u003e\nThe user gets his unique \"registration key\" on email or somewhere else and then he enters it in this wizard. \u003cbr/\u003e\nAfter the user is being created for that email, this unique key is being removed from the database so no one will be able to use that key again.\n\n## Project map\nThere are 3 parts in this example:\n1) admin - the swing app for the app admin, in order to create an STRP\n2) backend - the cloud function that sends an email with the registration key\n3) client - the client registration wizard\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frealkfiros%2Fstrp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frealkfiros%2Fstrp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frealkfiros%2Fstrp/lists"}