Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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