mirror of
https://github.com/skidoodle/budgetable.git
synced 2025-02-15 03:39:14 +01:00
💸 Track items you want to buy later
.github/workflows | ||
public | ||
src | ||
.gitignore | ||
biome.json | ||
components.json | ||
Dockerfile | ||
eslint.config.mjs | ||
license | ||
next.config.ts | ||
package.json | ||
pb_schema.json | ||
pnpm-lock.yaml | ||
postcss.config.mjs | ||
readme.md | ||
tailwind.config.ts | ||
tsconfig.json |
Budgetable
A simple, web-based app to track items you want to buy later. It lets you easily add, update, and manage your items, with the ability to toggle between "Paid" and "Unpaid" statuses.
Features
- Add, update, and delete items in your list.
- Toggle item statuses between "Paid" and "Unpaid."
- User-friendly interface with responsive design.
Tech Stack
- Framework: Next.js
- Styling: ShadCN UI
- Database: PocketBase
- Package Manager: pnpm
- Containerization: Docker
Getting Started
Setting Environment Variables
Before running the app, set the following environment variables in a .env.local
file:
NEXT_PUBLIC_POCKETBASE_URL
: The URL of your PocketBase server.EMAIL
: The email address used to log in to the PocketBase instance.PASSWORD
: The password used to log in to the PocketBase instance.COLLECTION
: The name of the PocketBase collection to store your items.
Example:
NEXT_PUBLIC_POCKETBASE_URL=https://pocketbase
EMAIL=example@example.com
PASSWORD=yourpassword
COLLECTION=pbcollection
Running Locally
To run Budgetable on your local machine, follow these steps:
git clone https://github.com/skidoodle/budgetable
cd budgetable
pnpm install
pnpm dev
Access the app at http://localhost:3000
.
Deployment with Docker
Using Docker Run
- Pull the Docker image from GitHub Container Registry:
docker pull ghcr.io/skidoodle/budgetable:main
- Run the Docker container with a persistent volume:
docker run -d \ -p 3000:3000 \ --name budgetable \ -v data:/app \ -e NEXT_PUBLIC_POCKETBASE_URL=https://pocketbase \ -e EMAIL=example@example.com \ -e PASSWORD=yourpassword \ -e COLLECTION=pbcollection \ ghcr.io/skidoodle/budgetable:main
- Access the app at
http://localhost:3000
.
Using Docker Compose
- Create a
docker-compose.yml
file in the project root:services: budgetable: image: ghcr.io/skidoodle/budgetable:main ports: - "3000:3000" volumes: - data:/app environment: NEXT_PUBLIC_POCKETBASE_URL: https://pocketbase EMAIL: example@example.com PASSWORD: yourpassword COLLECTION: pbcollection volumes: data:
- Start the services:
docker-compose up -d
- Access the app at
http://localhost:3000
.
License
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
Support
If you encounter any issues or have questions, please create an issue in the repository.