Code Monkey home page Code Monkey logo

superdesk-server's Introduction

Superdesk Server Build Status Code Health

Superdesk Server provides a REST API server for Superdesk project. It's a python app, built on top of eve/flask framework.

There is some basic infrastructure plus app modules for users, authentication, ingest, archive, etc.

Requirements

We support python version 3.3+.

Other requirements are mongodb server and elasticsearch instance. Both can be configured via environment variables (see settings.py).

Installation

Using virtualenv is recommended for installing python requirements. So once activated, run:

$ pip install -r requirements.txt

External libs

For image processing you will need some extra packages:

Services

  • mongodb
  • elasticsearch
  • redis

CI

Use nosetests for unit tests:

$ nosetests

Behave for behaviour testing:

$ behave

Flake8 for style check:

$ flake8

Running Dev Server

Use honchu to run the app - it will start api server on port 5000, websocket server on port 5100 and celery.

$ honcho start

Running Docker containers with fig

Fig is configured to create and start Docker container not only for Superdesk application itself but also for the depended services (mongodb, redis, elasticsearch). It will mount git repo root inside the container so all the local changes will be reflected there. So after running this command server will start listening on localhost:5000 for REST API and on localhost:5100 for WebSockets:

$ fig up

To create user you can run that command (it will start container instance for command execution and start depended service if needed):

fig run web python3 manage.py users:create -u admin -p admin -e "[email protected]" --admin=true

To rebuild environment(ie changes to environemnt or dependencies):

fig build && fig up

For more commandline magic go to their docs: http://www.fig.sh/cli.html

API Documentation

You can see API Documentation on apiary.

Running cli commands

$ python manage.py

This will give you list of available commands.

Creating admin user

This command will create an administrator user.

$ python manage.py users:create -u <username> -p <password> -e <email>

superdesk-server's People

Contributors

actionless avatar amagdas avatar ancafarcas avatar cybernet avatar danse avatar hlmnrmr avatar ioanpocol avatar marwoodandrew avatar mugurrus avatar petrjasek avatar vied12 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.