BinCode - A Complete Self-Hostable JSFiddle Alternative
BinCode is a minimalist platform for managing and sharing code snippets, built with Vue.js and SQLite. It runs entirely on your own infrastructure, giving you full control over your data and workflow.
- Self-Contained: No external dependencies required.
- Modern Stack: Vue.js frontend and SQLite database.
- JWT Authentication: Secure, simple user management.
- Instant Sharing: Generate unique URLs for snippets.
- Minimal Setup: Create users manually to start sharing.
- Performance-Focused: Lightweight and fast.
- Frontend: Vue.js
- Database: SQLite
- Authentication: JWT
- Deployment: Single self-contained server.
There is no signups its by design just create users manullay and they can start commits snippets to share
BinCode is a lightweight, self-hostable tool for teams and individuals needing a simple, reliable solution for code sharing without relying on external services.
- No Signups: Admins manually create user accounts for simplicity and security.
- Self-Hosted: Ensures privacy and control over your data.
Contributions are welcome, as long as the tool remains lightweight and self-contained.
git clone https://git.sheetjs.com/asadbek064/BinCode.git
cd BinCode
pnpm install
Create a .env file in the project root and define the following variables:
NODE_ENV=development
PORT=3000
JWT_SECRET=your-secure-secret-here
JWT_EXPIRES_IN=7d
node addUser.js "user@email.com" "password"
Before starting the development server, ensure you change the Vue.js library import from _prod
to _dev
in index.html
.
pnpm dev
Copy .env.example to .env and generate unique secret and cahnge NODE_ENV=production
- Copy .env.example to .env:
cp .env.example .env
-
Generate a unique secret and set NODE_ENV=production in the .env file.
-
Start the production server
pnpm start
-
For development, using the
_dev
version of Vue.js (vue.global.js) is recommended as it includes debugging tools and warnings. -
For production, switch to the
_prod
version (vue.global.prod.js) to optimize performance.