Make an resume editor, so that user can create/retreive/update/delete user profile, work experience, school education, etc.,
- localhost demo. run
npm run dev
and then visthttp://localhost:5173/resume
- docker demo.
run
docker run -it -p 5173:80 --rm timoweave/resume_nginx:latest
, and then visithttp://localhost:5173/resume
- see demo
- postgres dbms (good for relational db)
- supabase (with the rpc api, generated typescript from postgres)
- hook (to manage state)
- react (with chakra, router)
.env
has values to load supabase key/secret, which the developer must create. (see.env-example
for example)
VITE_SUPABASE_URI='https://db.<MUST_GET_YOUR_SUPABSE_URI>.supabase.co'
VITE_SUPABASE_ANON_KEY='<MUST_GET_YOUR_SUPABASE_ANON_KEY>'
main.tsx
is the JSX entry point to<Resume/>
(thruroutes.tsx
).api/
is for supbase rpc to communicate from frontend to backend, heavily templated for reusing with different tables.components/
is for all RSX components.hooks/
is for various hooks to manage resume editing possible.sql/
is for SQL tables (view, function, procedure, trigger, enum if any)doc/
for documentation...
- see
sql/postgres.sql
for the SQL tables. - see
doc/resume-db-erd.png
for the Entity Relational Diagram.
- resume (root)
this is the landing page for
/resume
route. here user will find three sections: profile, experience, and education) Profile
this section has profile itself plus address and phone. user can only update at the moment. But the database is design for multi-user use case.Experience
this section list the user work experiences, which can be added, updated, or deleted.Education
this sectoin list user school, which can be added, updated, or deleted.