AnyBin
A boilerplate bin website for saving text in a database and access it with a short URL. Very similar to PasteBin or JSBin. This is mostly back-end implementation of the website. Front-end is very simple.
Try a version of the app running here
Work in progress
Features
Running locally
git clone git@github.com:mohsen1/anybin.git
cd anybin
npm install
npm run dev
Server command line options
config
for selecting the configuration fileviews
for selecting the folder to look for index.ejs
filepublic
for selecting public content folderdb
MongoDB URL, it will override database URLs in config.js
Example
$ node app/server.js \
--config='/path/to/my/config.js' \
--views='/path/to/my/views-folder/' \
--public='/path/to/my/public-folder' \
--db='mongodb://user:pass@me.dbhost.com:9999/my-db'
Routes
Website
Operation | Path | Description |
---|
GET | / | Load homepage |
GET | /?import=url | Load homepage and import from url |
GET | /:id | Load a bin |
GET | /:id/:version | Load a bin at a version |
API
Operation | Path | Description |
---|
POST | /api/ | Make a new Bin |
POST | /api?import=url | Make a new Bin form url |
GET | /api/:id | Get latest version of a bin |
PUT | /api/:id | Update latest version of a bin |
POST | /api/:id | Add a new version to a bin |
GET | /api/:/id/:version | Get a specific version of a bin |
License
MIT