Features
- Multirole auth login guest and admin (with github, google, or credentials).
- Book recommendations(random pick).
- CRUD operations.
- Search the books that user want.
- Save the user data who lend a/the book to Supabase and display it into a table in
/list-users
page(only admin who can access this page).
- Show the user profile.
- Export the users list to CSV format and only admin who can download it.
- Books recommendation
Website Structure
Videos
Screenshots
Tech Stack
Getting Started
- Clone this project, install all dependencies with
pnpm install
.
- First, you will need to setup your OAuth Github App. Go to create one, and grab your Github Id and Github Secret, fill it in
NEXT_PUBLIC_GITHUB_ID
and NEXT_PUBLIC_GITHUB_SECRET
.
- Setup your Google Cloud Project. Grab your Google Id and Google Secret, fill it in
NEXT_PUBLIC_GOOGLE_ID
and NEXT_PUBLIC_GOOGLE_SECRET
.
- Setup your new Supabase Project and grab the Supabase Url and Supabase Key, fill it in
NEXT_PUBLIC_SUPABASE_URL
and NEXT_PUBLIC_SUPABASE_KEY
.
- After that, fill the remaining variables.
- CREDENTIAL_ADMIN_USERNAME=<your_admin_username>
- CREDENTIAL_ADMIN_PASSWORD=<your_admin_password>
- DEVELOPMENT_URL=<your_development_url>
- PRODUCTION_URL=<your_production_url>
- ADMIN_ID=<your_admin_id>
- ADMIN_EMAIL=<your_used_email_for_admin>
- After you fill all the needed env variables, run the project by typing
pnpm run dev
.
- Go to
http://localhost:3000
and see the result.
- By the way, the default username and password for admin role is: username = pak_dengklek, password = 102938
Resource
Supports
License
MIT