Skip to content
API supporting the Bookmark Manager for Developers & Co
Branch: develop
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin first commit Oct 2, 2016
common start with integration testing (it version and root paths) Jan 20, 2019
docs
models replace codingmark with bookmark in code Mar 18, 2019
resources/db-migration/mongodb add mongo command files, sort of migration scripts... Oct 22, 2017
routes replace "codingmark" with "bookmark" in code Mar 18, 2019
.editorconfig add .editorconfig file Oct 6, 2016
.gitignore
.nvmrc
LICENSE
README.md
app.js replace "codingmark" with "bookmark" in code Mar 18, 2019
env.json
package-lock.json
package.json prepare v3.0.0 for production Mar 14, 2019

README.md

API for www.bookmarks.dev, the Bookmark Manager for Developers & Co

This repo contains the back-end API source code of the www.bookmarks.dev website.

Bookmarks Context

This project is developed with the MEAN stack, featuring MongoDB, ExpressJS, Angular and NodeJS. Authentication and authorization is done via Keycloak:

Network Diagram


Development setup

You need mongodb, keycloak and nodejs to get the api working

Prerequisites

What you need to run this app:

  • node and npm (we recommend using NVM)
  • Ensure you're running Node at least (v6.x.x+) and NPM (3.x.x+)

MongoDB

Follow the instructions from the Mongo DB documentation and install version 3.2 on your local machine. Connect to the mongo client:

# change to mongo installation directory
$ cd MONGO_HOME

# run the mongo client
$ ./bin/mongo

and then create the codingpedia-bookmarks database:

# change to mongo installation directory
> use codingpedia-bookmarks

# verify that is present

> show dbs;
admin                  0.000GB
codingpedia-bookmarks  0.000GB
keycloak               0.001GB
local                  0.000GB

Keycloak

This is the heaviest step, we need to set up for development. But by using Keycloak we get lots of things like Single-Sign On, OpenId-Connect Support, social logins, user admin console, that otherwise would take lots of effort to implement by ourselves. To make our life easier, I have prepared a wiki page about Keycloak Setup For Development.

Installation and develop on local machine

# clone backend repo
$ git clone https://github.com/Codingpedia/bookmarks-api.git

# change directory to the app
$ cd bookmarks-api

# use the preconfigured node version
$ nvm use

# install the dependencies with npm
$ npm install

# start the server with nodemon, so that changes in the dynamically reflected
$ DEBUG=bookmarks-api:* nodemon start

Testing

Run the integration test by issuing the following command.

$ npm run integration-tests

For the tests to run the development environment has to be set up

Swagger docs

License

MIT

You can’t perform that action at this time.