Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/haikelz/peminjaman-buku
📘A simple book lending system
https://github.com/haikelz/peminjaman-buku
jotai nextjs supabase tailwindcss typescript
Last synced: 4 months ago
JSON representation
📘A simple book lending system
- Host: GitHub
- URL: https://github.com/haikelz/peminjaman-buku
- Owner: haikelz
- License: mit
- Created: 2023-09-30T03:08:57.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-01-10T00:18:40.000Z (about 1 year ago)
- Last Synced: 2024-05-01T18:21:58.240Z (9 months ago)
- Topics: jotai, nextjs, supabase, tailwindcss, typescript
- Language: TypeScript
- Homepage:
- Size: 10.1 MB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
peminjaman-buku
peminjaman-buku is a simple book lending system.
## 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
![website structure](public/images/docs/website-structure.png)
## Videos
[![Videos](public/images/docs/ss-2.png)](https://youtu.be/LfMIszlt4WM)
## Screenshots
![ss 1](/public/images/docs/ss-1.png)
![ss 2](/public/images/docs/ss-2.png)
![ss 3](/public/images/docs/ss-3.png)
![ss 4](/public/images/docs/ss-4.png)
![ss 5](/public/images/docs/ss-5.png)
![ss 6](/public/images/docs/ss-6.png)
![ss 7](/public/images/docs/ss-7.png)
![ss 8](/public/images/docs/ss-8.png)
## Tech Stack
- Next JS 13
- Tailwind CSS with [Tail Dashboard](https://github.com/TailAdmin/free-nextjs-admin-dashboard)
- Jotai## 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=
- CREDENTIAL_ADMIN_PASSWORD=
- DEVELOPMENT_URL=
- PRODUCTION_URL=
- ADMIN_ID=
- ADMIN_EMAIL=
```- 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
- [Books data and images](https://github.com/benoitvallon/100-best-books)
## Supports
- [Github Sponsor](https://github.com/sponsors/haikelz)
- [Trakteer](https://trakteer.id/haikelz/tip)## License
MIT