CRUD with admin panel. Deno + Hono + Eta + Vue3 based. OAuth2 authentication for Google and X/Twitter. Deno KV database. Zod validation.
Double login (Google, X/Twitter) + manage collected data using the admin panel.
vue.esm-browser.prod.js
used to improve UI/UX experience.admin access
granted using deno deploy environment variables
in production, and .env
file in development process..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
CSRF_ORIGIN=http://localhost:8000
CSRF_ORIGIN
and the *_CONFIG_REDIRECT_URI
prefix http://localhost:8000
should be replaced to used domain.*_CLENT_ID
and *_CLIENT_SECRET
first configure OAuth2
for Google
and X/Twitter
accounts where you registered.ADMIN_IDS
displayed in profile after login, and provided by OAuth2 API
. So, first login without admin rights, then get id, finally add id into .env
or deploy environment variable..env
file(otherwise OAuth2 will fail).Developed on linux.
.env
file in repo root folder(README.md file level).deno task bang
to run locally.For details discover the deno.json
file.