This is Bertly, a serverless link shortener. We use it to create shareable URLs, like this: dosome.click/wq544
. Bertly is built using Express, Dynamoose, and hashids. It runs on AWS Lambda. We don't know where the name came from, but it sounds a bit familiar...
Check out the API Documentation to start using Bertly! 🔗
Install Node 12.x and clone this repository. Then, follow the setup instructions:
# Install dependencies:
$ npm install
# Copy environment variables & edit w/ your machine's details:
$ cp .env.example .env && vi .env
# And finally, start your local dev server!
$ npm run dev
You can run functional and unit tests locally using Jest:
npm test
Please write a test case when adding or changing a feature. Most steps you would take when manually testing your code can be automated, which makes it easier for yourself & others to review your code and ensures we don't accidentally break something later on!
We deploy Bertly using CircleCI.
Anything that's merged to master
is automatically deployed to dev.dosome.click
and qa.dosome.click
.
You can approve a build to be deployed to production by clicking the purple "on hold" step.
Note: Database migrations are currently bugged, so you'll need to add or change fields manually.
We take security very seriously. Any vulnerabilities in Bertly should be reported to security@dosomething.org, and will be promptly addressed. Thank you for taking the time to responsibly disclose any issues you find.
© DoSomething.org. Bertly is free software, and may be redistributed under the terms specified in the LICENSE file. The name and logo for DoSomething.org are trademarks of Do Something, Inc and may not be used without permission.