Double login (google, x/twitter) + manage collected data using the admin panel.
- TypeScript, backend rendered web application.
- deno(runtime) + hono(framework) + eta(template render engine) based.
- OAuth2(Open Authorization) implemented for google and x/twitter accounts, using deno_vk_oauth.
- common user can edit personal data record.
- admin panel used to manage data records collected from users.
- built-in Deno KV used to manage database stuff.
- deno deploy hosted.
admin access
granted using deno deployenvironment variables
in production, and.env
file in development process.
The.env
file example:
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
TWITTER_CLIENT_ID=
TWITTER_CLIENT_SECRET=
GOOGLE_OAUTH_CONFIG_REDIRECT_URI=http://localhost:8000/callback-google
X_OAUTH_CONFIG_REDIRECT_URI=http://localhost:8000/callback-x
ADMIN_IDS=idfromappscreen,anotheradmin,commaseparated
- for deno deploy, the redirect_uri
localhost:8000
should be replaced to used domain. - to get clent_id and client_secret first configure oauth2 for google and x/twitter accounts where you registered.
- at the moment (2024) the solutions used have free plans.
- configured deno.
- correct
.env
file(otherwise OAuth2 will fail).
Developed on linux.
- clone the repo
- create and fill
.env
file in repo root folder(README.md file level). - terminal:
deno task bang
to run locally.
For details discover deno.json
file.