Skip to content

serverless-plus/shorten-urls

Repository files navigation

Shorten Urls

Online

Build Status semantic-release

Serverless shorten urls service using serverless framework.

Features

Usage

$ git clone https://github.com/serverless-plus/shorten-urls.git

Development

Install dependencies:

$ npm install

To start server locally, you can start local posgresql by docker and connect to it for development.

Start local docker postgresql:

$ npm run docker:up

Then copy .env.example to .env:

$ cp .env.example .env

Run server:

$ npm run dev

Deployment

Before deployment, you should build project:

$ npm run build

Then you can deploy relative resources, after the first deployment, below step is optional for next time.

Deploy database

Serverless PostgreSQL need VPC, so we need create a VPC for it:

$ npm run deploy:vpc

Then we can deploy database:

$ npm run deploy:db

Deploy layer

For nodejs project, we can deploy node_modules directory to layer, so after first deployment, we do not need to deploy node_modules directory again, this is very useful to make our source code deployment quickly.

To make layer code smaller, we can run:

$ rm -rf node_modules && npm install --production

so we just deploy npm modules of production to layer,

$ npm run deploy:layer

Notice: after layer deployment, if you do not change npm modules for production, you don't need to deploy layer.

Deploy static files

Upload static files in public directory to COS:

$ npm run deploy:cos

Deploy server code

$ npm run deploy

Commit Lint

All git commit mesage must follow below syntax:

type(scope?): subject  #scope is optional

support type:

  • feat: add new feature
  • fix: fix bug or patch feature
  • ci: CI
  • chore: modify config, nothing to do with production code
  • docs: create or modifiy documents
  • refactor: refactor project
  • revert: revert
  • test: test

Most of time, we just use feat and fix.

License

MIT License

Copyright (c) 2020 Serverless Plus

About

Serverless Shorten Urls Service

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published