|
panann
|
#include <Perceptron.h>
Public Types | |
| enum | ErrorCostFunction : uint8_t { MeanSquareError = 1, MeanAbsoluteError } |
Public Member Functions | |
| Perceptron (const Perceptron &)=delete | |
| Perceptron & | operator= (const Perceptron &)=delete |
| void | SetErrorCostFunction (ErrorCostFunction mode) |
| ErrorCostFunction | GetErrorCostFunction () const |
| void | SetHiddenNeuronActivationFunctionType (ActivationFunctionType type) |
| ActivationFunctionType | GetHiddenNeuronActivationFunctionType () const |
| void | SetOutputNeuronActivationFunctionType (ActivationFunctionType type) |
| ActivationFunctionType | GetOutputNeuronActivationFunctionType () const |
| void | InitializeWeightsRandom (double min=-1.0, double max=1.0) |
| void | InitializeWeights (const TrainingData &training_data) |
| virtual void | RunForward (const std::vector< double > &input) |
| void | RunBackward (const std::vector< double > &output) |
| double | GetError (const std::vector< double > &output) |
| double | GetError (const TrainingData &training_data) |
| std::vector< double > & | GetWeights () |
| void | SetWeights (const std::vector< double > &weights) |
| void | GetOutput (std::vector< double > *output) const |
| virtual void | Construct () |
| bool | IsConstructed () const |
| void | EnableErrorShaping () |
| void | DisableErrorShaping () |
| Public Member Functions inherited from panann::MultiLayerNeuralTopology | |
| MultiLayerNeuralTopology (const MultiLayerNeuralTopology &)=delete | |
| MultiLayerNeuralTopology & | operator= (const MultiLayerNeuralTopology &)=delete |
| void | AddHiddenLayer (size_t neuron_count) |
| void | EnableShortcutConnections () |
| void | DisableShortcutConnections () |
| void | ConstructTopology () |
| bool | IsTopologyConstructed () const |
| size_t | GetHiddenLayerCount () const |
| const Layer & | GetHiddenLayer (size_t layer_index) const |
| size_t | GetInputConnectionCount () const |
| size_t | GetOutputConnectionCount () const |
| const InputConnection & | GetInputConnection (size_t index) const |
| const OutputConnection & | GetOutputConnection (size_t index) const |
| Public Member Functions inherited from panann::NeuronContainer | |
| NeuronContainer (const NeuronContainer &)=delete | |
| NeuronContainer & | operator= (const NeuronContainer &)=delete |
| void | SetInputNeuronCount (size_t input_neuron_count) |
| size_t | GetInputNeuronCount () const |
| void | SetOutputNeuronCount (size_t output_neuron_count) |
| size_t | GetOutputNeuronCount () const |
| size_t | GetNeuronCount () const |
| const Neuron & | GetNeuron (size_t neuron_index) const |
Protected Member Functions | |
| void | AllocateWeights () |
| bool | AreWeightsAllocated () const |
| void | InitializeNeurons () |
| virtual void | InitializeHiddenNeurons () |
| void | ComputeNeuronValue (size_t neuron_index) |
| void | ComputeNeuronValueRange (size_t neuron_start_index, size_t neuron_count) |
| void | ComputeNeuronError (size_t neuron_index) |
| void | ResetOutputLayerError () |
| void | CalculateOutputLayerError (const std::vector< double > &output) |
| double | GetError () const |
| RandomWrapper & | GetRandom () |
| size_t | GetWeightCount () const |
| double & | GetWeight (size_t index) |
| Protected Member Functions inherited from panann::MultiLayerNeuralTopology | |
| Layer & | GetHiddenLayer (size_t layer_index) |
| InputConnection & | GetInputConnection (size_t index) |
| OutputConnection & | GetOutputConnection (size_t index) |
| size_t | AddInputConnections (size_t count) |
| size_t | AddOutputConnections (size_t count) |
| virtual void | FixNeuronConnectionIndices () |
| void | AllocateConnections () |
| bool | AreConnectionsAllocated () const |
| virtual void | ConnectFully () |
| void | ConnectLayerToNeuron (size_t from_neuron_index, size_t from_neuron_count, size_t to_neuron_index) |
| void | ConnectLayers (size_t from_neuron_index, size_t from_neuron_count, size_t to_neuron_index, size_t to_neuron_count) |
| void | ConnectBiasNeuron (size_t bias_neuron_index, size_t to_neuron_index, size_t to_neuron_count) |
| void | ConnectNeurons (size_t from_neuron_index, size_t to_neuron_index) |
| Protected Member Functions inherited from panann::NeuronContainer | |
| size_t | GetHiddenNeuronStartIndex () const |
| size_t | GetInputNeuronStartIndex () const |
| size_t | GetOutputNeuronStartIndex () const |
| size_t | GetBiasNeuronStartIndex () const |
| size_t | GetHiddenNeuronCount () const |
| size_t | GetBiasNeuronCount () const |
| size_t | AddHiddenNeurons (size_t count) |
| void | AddBiasNeurons (size_t count) |
| void | AllocateNeurons () |
| bool | AreNeuronsAllocated () const |
| void | SetNeuronActivationFunction (size_t neuron_index, ActivationFunctionType type) |
| Neuron & | GetNeuron (size_t neuron_index) |
| Neuron & | GetInputNeuron (size_t input_neuron_index) |
| Neuron & | GetOutputNeuron (size_t output_neuron_index) |
| Neuron & | GetBiasNeuron (size_t bias_neuron_index) |
| Neuron & | GetHiddenNeuron (size_t hidden_neuron_index) |
| const Neuron & | GetOutputNeuron (size_t output_neuron_index) const |
Simple feed-forward, multi-layer perceptron.
|
virtual |
Build the neural network.
After construction, the network topology may not be modified.
Reimplemented in panann::RecurrentNeuralNetwork.
| void panann::Perceptron::EnableErrorShaping | ( | ) |
Enable to perform shaping of the error curve. Default: Disabled
| double panann::Perceptron::GetError | ( | const std::vector< double > & | output | ) |
Get the total network error by calculating the average of the difference between each output neuron value and each value in the output parameter.
The difference between the expected value and the output neuron value will be modified according to the error cost function.
| output | Expected output values. Difference between this and the value of each output neuron is our total network error. The number of values in output must be the same as the number of output neurons in this network. |
| double panann::Perceptron::GetError | ( | const TrainingData & | training_data | ) |
Get the total network error against a set of examples.
For each example, we run the network forward on the input and compute the difference between the output and the values stored in each output neuron.
The total network error is computed as the average of all of those computed differences.
The difference between the expected value and the output neuron value will be modified according to the error cost function.
| void panann::Perceptron::GetOutput | ( | std::vector< double > * | output | ) | const |
Writes all of the output neuron values into |output|.
Existing values in |output| will be discarded.
| std::vector< double > & panann::Perceptron::GetWeights | ( | ) |
Get a writable vector containing all the weight values for the network.
|
protectedvirtual |
Set the default activation function etc for all hidden neurons in the network.
Reimplemented in panann::RecurrentNeuralNetwork.
|
protected |
Set the initial value, activation function, etc for all neurons in the network.
| void panann::Perceptron::InitializeWeights | ( | const TrainingData & | training_data | ) |
Initialize the weight of each connection via Widrow-Nguyen's algorithm.
| void panann::Perceptron::InitializeWeightsRandom | ( | double | min = -1.0 , |
| double | max = 1.0 |
||
| ) |
Reset every weight in the network to a random value between min and max.
| bool panann::Perceptron::IsConstructed | ( | ) | const |
Returns true if the network has been constructed and false otherwise.
Note: Once constructed, the network topology is fixed and cannot be changed.
| void panann::Perceptron::RunBackward | ( | const std::vector< double > & | output | ) |
Compute the error attributed to each neuron in the network.
Begins by calculating the difference between each output neuron value and each element in the output parameter.
Next we pull that neuron error backwards through the network, computing the partial error contributed by each neuron in the network.
| output | Must have the same number of elements as this network has output neurons. |
|
virtual |
Run the network forward on a set of inputs.
The values computed by running the network will be stored in the output neurons.
Works by assigning the values in the input parameter into each input neuron and pulling those values through the hidden layers, calculating the output of each neuron as the result of executing the activation function on the sum of the incoming values multiplied by their connection weights.
| input | Must have the same number of elements as this network has input neurons. |
Reimplemented in panann::RecurrentNeuralNetwork.
| void panann::Perceptron::SetErrorCostFunction | ( | ErrorCostFunction | mode | ) |
Set the cost function we will use to calculate the total network error.
Default: MeanSquareError
| void panann::Perceptron::SetHiddenNeuronActivationFunctionType | ( | ActivationFunctionType | type | ) |
Set the default activation function we will use for hidden layer neurons.
Default: Sigmoid
| void panann::Perceptron::SetOutputNeuronActivationFunctionType | ( | ActivationFunctionType | type | ) |
Set the default activation function we will use for output layer neurons.
Default: Sigmoid
| void panann::Perceptron::SetWeights | ( | const std::vector< double > & | weights | ) |
Set the weight values for the network based on an input vector |weights|.
The weight values will be copied from the provided vector which must contain exactly the number of values for which this network has weights.


breakaway: Species Richness Estimation and Modeling
Species richness estimation is an important problem in biodiversity analysis.  Microbial diversity datasets are characterized by a large number of rare species and a small number of highly abundant species. The class of models implemented by breakaway() is flexible enough to model both these features. breakaway_nof1() implements a similar procedure however does not require a singleton count. betta() provides a method for modelling total diversity with covariates in a way that accounts for its estimated nature and thus accounts for unobserved taxa, and betta_random() permits random effects modelling.
| Version: |
3.0 |
| Published: |
2016-03-30 |
| Author: |
Amy Willis and John Bunge |
| Maintainer: |
Amy Willis <adw96 at cornell.edu> |
| License: |
GPL-2 |
| NeedsCompilation: |
no |
| CRAN checks: |
breakaway results |
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=breakaway
to link to this page.


| t01 |
SARS, severe, acute, respiratory, syndrome, coronavirus, acute_respiratory_syndrome, disease, virus, sars-cov |
119 |
30 |
| t02 |
cristina, anca, daniela, alina, alexandra, mihaela, raluca, streinu-cercel, adrian, popescu |
1 |
0 |
| t03 |
antiviral, development, drugs, middle, east, mers-cov, inhibitors, coronaviruses, sars-cov-2, middle_east_respiratory_syndrome_coronavirus |
23 |
8 |
| t04 |
bat(s), civet(s), palm, sl-covs, sars-like, reservoir, horseshoe, wildlife |
12 |
0 |
| t05 |
protein(s), accessory, 8b, sars-cov, structural_proteins, orfs, cellular, structural, nf-κb |
14 |
8 |
| t06 |
cases, workers, southern, measures, china, 2002, control, southern_china, november, 774 |
24 |
9 |
| t07 |
antibody, antibodies, patients, recombinant, samples, days, serum, sera, detected, immunoglobulin |
19 |
3 |
| t08 |
hcov-nl63, 229E, human, hcovs, hcov-hku1, coronaviruses, OC43, human_coronaviruses, hcov-229e, NL63 |
16 |
4 |
| t09 |
hong, kong, hong_kong, isolates, february, scovs, guangzhou, province, guangdong, singapore |
10 |
3 |
| t10 |
ACE2, s_protein(s), entry, receptor, binding, residues, receptor-binding, 1A9, mab |
9 |
1 |
| t11 |
remulus, case_presentation, sorin, pițigoi, cristina_popescu, eliza_manea, mădălina_merișescu, adriana_hristea, camelia, anuța_bilașco |
0 |
0 |
| t12 |
sars‐cov, model, macaques, tissue, ferrets, exponential, alveolar, exponential_model, pneumocytes, dose‐response |
7 |
0 |
| t13 |
cristina_dragomirescu, sabina, marinescu, national, dalila, ilinca, emilia, luminița, marincu, mărdărescu |
0 |
0 |
| t14 |
recovered, avoidance, corticosteroids, perceptions, respondents, actions, discriminatory, infectivity, %, patients |
6 |
1 |
| t15 |
apoptosis, family, coronaviridae, members, family_coronaviridae, induce, perspective, coronavirus_family, great, 3cl(pro |
6 |
3 |


i'm looking for gnome builds besides the tortured garden gnome one
The Mighty and Terrifying and Thundering Gnomish Barbarian /Barb 28/Bard 2/RDD 10 by FinneousPJ _________________ "... C'est un pays plus nu que la terre polaire — Ni bêtes, ni ruisseaux, ni verdure, ni bois!
Or il n'est pas d'horreur au monde qui surpasse La froide cruauté de ce soleil de glace Et cette immense nuit semblable au vieux Chaos; ..."
The blade juggernaut on the epic Builds Page. _________________ I see the fear you have inside, you can run but never hide.
I run the Pre-Epic Builders guild. Join and share your experience.
A Pint of Evil is the only Gnome in my stable of posted builds.
Feeling like exploiting the new EBT? Check out the Gnome Mechanic by Vulcano.
Cheers, Kail _________________ Looking for a realm of adventure? Check out World of Greyhawk, you won't regret it.
Adapt this build to Gnomehood - Master of the Long Death monk 21/wiz 3/PM 16. Change him to use a single-wield kama. _________________ Experience is the mother of good judgement; bad judgement is the father of experience.
NO!!!!!! People looking for Gnome builds!!!!! Judgement Day is Nigh!!!!!
They make very good wizards, so look for builds with over 30 wizards levels and you are sure to find some of those pesky gnomes. _________________ Two wrongs don't make a right but three lefts do.


Package org.bitcoinj.wallet
Class DecryptingKeyBag
- java.lang.Object
-
- org.bitcoinj.wallet.DecryptingKeyBag
-
- All Implemented Interfaces:
KeyBag
public class DecryptingKeyBag extends java.lang.Object implements KeyBag
A DecryptingKeyBag filters a pre-existing key bag, decrypting keys as they are requested using the provided AES key. If the keys are encrypted and no AES key provided,ECKey.KeyIsEncryptedException
will be thrown.
-
-
Constructor Summary
Constructors Constructor Description DecryptingKeyBag(KeyBag target, org.bouncycastle.crypto.params.KeyParameter aesKey)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ECKey
findKeyFromPubKey(byte[] pubKey)
Locates a keypair from the keychain given the raw public key bytes.ECKey
findKeyFromPubKeyHash(byte[] pubKeyHash, Script.ScriptType scriptType)
Locates a keypair from the keychain given the hash of the public key, and (optionally) by usage for a specific script type.RedeemData
findRedeemDataFromScriptHash(byte[] scriptHash)
Locates a redeem data (redeem script and keys) from the keychain given the hash of the script.
-
-
-
Field Detail
-
target
protected final KeyBag target
-
aesKey
protected final org.bouncycastle.crypto.params.KeyParameter aesKey
-
-
Constructor Detail
-
DecryptingKeyBag
public DecryptingKeyBag(KeyBag target, @Nullable org.bouncycastle.crypto.params.KeyParameter aesKey)
-
-
Method Detail
-
findKeyFromPubKeyHash
@Nullable public ECKey findKeyFromPubKeyHash(byte[] pubKeyHash, @Nullable Script.ScriptType scriptType)
Description copied from interface:KeyBag
Locates a keypair from the keychain given the hash of the public key, and (optionally) by usage for a specific script type. This is needed when finding out which key we need to use to redeem a transaction output.- Specified by:
findKeyFromPubKeyHash
in interfaceKeyBag
- Parameters:
pubKeyHash
- hash of the keypair to look forscriptType
- only look for given usage (currentlyScript.ScriptType.P2PKH
orScript.ScriptType.P2WPKH
) ornull
if we don't care- Returns:
- found key or null if no such key was found.
-
findKeyFromPubKey
@Nullable public ECKey findKeyFromPubKey(byte[] pubKey)
Description copied from interface:KeyBag
Locates a keypair from the keychain given the raw public key bytes.- Specified by:
findKeyFromPubKey
in interfaceKeyBag
- Returns:
- ECKey or null if no such key was found.
-
findRedeemDataFromScriptHash
@Nullable public RedeemData findRedeemDataFromScriptHash(byte[] scriptHash)
Description copied from interface:KeyBag
Locates a redeem data (redeem script and keys) from the keychain given the hash of the script. This is needed when finding out which key and script we need to use to locally sign a P2SH transaction input. It is assumed that wallet should not have more than one private key for a single P2SH tx for security reasons. Returns RedeemData object or null if no such data was found.- Specified by:
findRedeemDataFromScriptHash
in interfaceKeyBag
-
-


{% load i18n %}
{% load bootstrap3 %}
{% bootstrap_icon "plus" as glyphicon_plus %}
{% bootstrap_icon "chevron-right" as glyphicon_chevron_right %}
{% trans "Book Activities" %}
{% if lesson.book_activities %}
{% with lesson.book_activities as activities %}
{% include "lessons/view-activity-table.html" %}
{% endwith %}
{% else %}
{% if lesson.free_activities %}
{% with lesson.free_activities as activities %}
{% include "lessons/view-activity-table.html" %}
{% endwith %}
{% else %}


Amazon FSx FileSystem LustreConfiguration
The
LustreConfiguration
property type defines an Amazon FSx for Lustre file system.
LustreConfiguration
is a property of the AWS::FSx::FileSystem resource
that defines an Amazon FSx for Lustre file system.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax.
JSON
{ "ExportPath" :
String
, "ImportedFileChunkSize" :Integer
, "ImportPath" :String
, "WeeklyMaintenanceStartTime" :String
}
YAML
ExportPath:
String
ImportedFileChunkSize:Integer
ImportPath:String
WeeklyMaintenanceStartTime:String
Properties
ExportPath
-
The path in Amazon S3 where the root of your Amazon FSx file system is exported. The path must use the same Amazon S3 bucket as specified in
ImportPath
. You can provide an optional prefix to which new and changed data is to be exported from your Amazon FSx for Lustre file system. If anExportPath
value is not provided, Amazon FSx sets a default export path,s3://import-bucket/FSxLustre[creation-timestamp]
. The timestamp is in UTC format, for examples3://import-bucket/FSxLustre20181105T222312Z
.The Amazon S3 export bucket must be the same as the import bucket specified by
ImportPath
. If you only specify a bucket name, such ass3://import-bucket
, you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping means that the input data in S3 is overwritten on export. If you provide a custom prefix in the export path, such ass3://import-bucket/[custom-optional-prefix]
, Amazon FSx exports the contents of your file system to that export prefix in the Amazon S3 bucket.Required: No
Type: String
Update requires: Replacement
ImportedFileChunkSize
-
For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.
The chunk size default is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.
Required: No
Type: Integer
Update requires: Replacement
ImportPath
-
The path to the Amazon S3 bucket (including the optional prefix) that you're using as the data repository for your Amazon FSx for Lustre file system. The root of your Amazon FSx for Lustre file system is mapped to the root of the Amazon S3 bucket that you choose. An example is
s3://import-bucket/optional-prefix
. If you specify a prefix after the Amazon S3 bucket name, only object keys with that prefix are loaded into the file system.Required: No
Type: String
Update requires: Replacement
WeeklyMaintenanceStartTime
-
The preferred time to perform weekly maintenance, in the UTC time zone.
Required: No
Type: String
Update requires: No interruption
See Also
-
CreateFileSystemLustreConfiguration in the Amazon FSx API Reference


CS460Homework1_Ming Li
Home
About
Contact
Sign in
Tag ol
Red
Blue
Green
Tag dl
Red
Color Red
Blue
Color Blue
Green
Color Green


Welcome to dimava.github.io
PNPM documentation
PNPM docs require VPN to work in my country, so I did make a mirror for myself, removing annoying stuff and unused languages
goto
./shapez/modZ/dev
for ALPHA version with wirez (be careful and export saves of the previous version)
save s imports ARE compatible with both older MODZ and ALPHA
(this is dev version, previously there was an staging one that didnt work properly)
v1.0.0 (based on 1.2.x alpha)
The @Dimava's fork of Shapez.io ALPHA


Embedded Artistry Framework
Embedded Systems C++ Framework
src
stdlibs
libc
openlibm
src
Macros
cdefs-compat.h File Reference
This graph shows which files directly or indirectly include this file:
Macros
#define
__BEGIN_DECLS
#define
__END_DECLS
Macro Definition Documentation
◆
__BEGIN_DECLS
#define __BEGIN_DECLS
◆
__END_DECLS
#define __END_DECLS
Generated by
1.8.15


A text field is a single-line, fixed-height field, often with rounded corners, that automatically brings up a keyboard when the user taps it. Use a text field to request a small amount of information, such as an email address.
A text field is a single-line, fixed-height field, often with rounded corners, that automatically brings up a keyboard when the user taps it. Use a text field to request a small amount of information, such as an email address.


UQ Library Search
ALL
JOURNAL ARTICLES
BOOKS
MULTIMEDIA
JOURNALS
DATABASES
CATALOGUE
PAST EXAM PAPERS
COURSE READING LISTS


User Guide¶
This documentation will help you learn all about using the dashboard system , Setting Your System with Our API and much more.
Update¶
Note
We recommend you having a backup your of your SMS database with all status.
To update your CRM got to Settings > System info and click on Schedule Update. Enter the time when the app should update and timezone.
Attention
All Your requests will be set to maintanance mode and maintanance status codes deisplayd when performing an update to the API and restored after the update process has completed.
If you’re moving your messages and receivers to another provider or servers make sure to request that data with the provided endpoints.
You can manually run the update with the following command.
GET
- /api/v1/messages/
Tip
You can see the detailed changelogs for each release.
Version 2.0¶
Copy .env.example to .env and set config settings
Check that /path/to/workspace/storage
has 755 permissions and is owned by the webserver user
API¶
Send and Access your SMS , Create USERS Lists , Groups and configure WEBHOOKS using a RESTful API . Noregrets provides a RESTful API. Below are the API Endpoints you can use;
Authorization¶
To access the API, you first need to copy your Api Key. Go to https://noregrets.ug/#get_started create an account and login, on the left navigation menu next to the profile avatar image and then click **Get API **. Upon Activation then Click on **Go to API Console ** In the Console click on your profile and and copy your API Key.
Note
Insert your API Key directly into the authorization header on any API requests. Example below;
curl -X GET
-H "Authorization: Key <api_key>"
-H "Content-Type: application/json"
"https://{endpoint}/api/v1/messages"
Authentication Errors¶
If the apiKey is invalid or expired you will receive a response with the status code set to HTTP 401 Unauthorized.
If the access_token is valid but you don’t have enough scope to perform this request you will receive a response with the status code set to HTTP 403 Forbidden.
HTTP-Codes¶
Actions and errors yield different HTTP response codes. Please have a look at the expected response codes in the following list.
200
Request OK201
New resource created304
The resource has not been changed400
The request parameters are invalid401
The provided api key is invalid403
You do not possess the required rights to access this resource.404
The resource could not be found / is unknown.415
The data could not be processed or the accept header is invalid.422
Could not save the entity500
An unexpected condition was encountered503
The server is not available (maintenance work).
HTTP-Headers¶
Attention
You must provide the following headers in each request:
Messages¶
POST
- /api/v1/add-message¶
Send a new message
POST /api/v1/add-message
Accept: application/json
Authorization: Key $ApiKey
Parameters¶
| Name | Required | Description |
|---|---|---|
| sender_no | required | the phone number routing the SMS through |
| receiver | required | the phone number of the person receving |
| message | required | the content of the message being sent |
Sample Code¶
GET
- /api/v1/users/{id}¶
Get invoice information
GET /api/v1/users/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Sample Code¶
<?php
$curl = curl_init();
- curl_setopt_array($curl, array(
- CURLOPT_URL => “http://api.noregrets.ug/V1/users?key=8g80kg4swkk00wwsggg4w48c408sk08048w0s84o”, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => “”, CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => “GET”, CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0,
));
$response = curl_exec($curl); $err = curl_error($curl);
curl_close($curl);
- if ($err) {
- echo “cURL Error #:” . $err;
- } else {
- echo $response;
}
Sample Response¶
[
{
"m_number": "UN47102220",
"lastname": "Stephen Barungi",
"firstname": "",
"other_names": "",
"gender": "N/A",
"contacts": [
{
"contact"<EMAIL_ADDRESS>},
{
"contact": "+256755168219"
}
]
},
{
"m_number": "DV1088633736",
"lastname": "steve",
"firstname": "baros",
"other_names": "",
"gender": "",
"contacts": [
{
"contact"<EMAIL_ADDRESS>}
]
}
]
PUT
- /api/v1/users/{id}¶
Update an invoice
PUT /api/v1/users/{id}
Accept: application/json
Authorization: ApiKey $AccessToken
Parameters¶
| Name | Required | Description |
|---|---|---|
| id | required | Invoice ID |
| reference_no | optional | Invoice reference code |
| title | optional | Invoice title |
| client_id | required | Invoice client ID |
DELETE
- /api/v1/invoices/{id}¶
Delete invoice
DELETE /api/v1/invoices/{id}
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/invoices¶
Get a list of all invoices
GET /api/v1/invoices
Accept: application/json
Authorization: Key $AccessToken
GET
- /api/v1/invoices/{id}/payments¶
Get al Groups
GET /api/v1/groups/{id}/
Accept: application/json
Authorization: Key $ApiKey
GET
- /api/v1/invoices/{id}/comments¶
Show invoice comments
GET /api/v1/invoices/{id}/comments
Accept: application/json
Authorization: Key $AccessToken
GET
- /api/v1/invoices/{id}/items¶
Show invoice product lines
GET /api/v1/invoices/{id}/items
Accept: application/json
Authorization: Key $AccessToken
Expenses¶
POST
- /api/v1/groups¶
Create a new group
POST /api/v1/expenses
Accept: application/json
Authorization: Key $ApiKey
Parameters¶
| Name | Required | Description or name of the group |
|---|---|---|
| amount | required | Expense amount e.g 1500.00 |
GET
- /api/v1/groups/{id}¶
Get Group information
GET /api/v1/groups/{id}
Accept: application/json
Authorization: Key $ApiKey
Sample Response¶
{
"status": "true",
"message": "succees",
"data": {
"group_id": 10,
"code": "EXP-AC0010",
"group_name": "Schools",
"created_at": "2018-12-24T05:30:44+03:00",
"updated_at": "2018-12-24T05:30:44+03:00"
}
}
PUT
- /api/v1/group/{id}¶
Update a group name
PUT /api/v1/groups/{id}
Accept: application/json
Authorization: Key $ApiKey
Parameters¶
| group_name | Required | New Description or name of the group |
|---|---|---|
| group_id | required | the id of the groupn to update |
GET
- /api/v1/expenses¶
Get a list of all expenses
GET /api/v1/expenses
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/expenses/{id}/comments¶
Show expense comments
GET /api/v1/expenses/{id}/comments
Accept: application/json
Authorization: Bearer $AccessToken
Payments¶
POST
- /api/v1/payments¶
Create a new payment
POST /api/v1/payments
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
| Name | Required | Description |
|---|---|---|
| invoice_id | required | Invoice ID |
| payment_date | required | Date when the payment was made |
| amount | required | Amount of payment made |
| payment_method | required | Payment method ID |
| gateway | required | Must be set to offline |
| notes | optional | Payment additional notes |
| currency | optional | Payment Currency |
| send_email | optional | If an email should be sent to client. Default 1 |
GET
- /api/v1/payments/{id}¶
Get payment information
GET /api/v1/payments/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Sample Response¶
{
"type": "payments",
"id": "10",
"attributes": {
"id": 10,
"code": "PAY-20181224-0010",
"invoice_id": 7,
"payment_method": "Cash",
"curreny": null,
"amount": "73.68",
"notes": null,
"payment_date": "2018-12-19T05:30:31+03:00",
"exchange_rate": "1.00000",
"project_id": null,
"refunded": 0,
"archived_at": null,
"business": {
"id": 5,
"name": "Rogahn-Gerhold",
"contact_person"<EMAIL_ADDRESS>},
"created_at": "2018-12-24T05:30:31+03:00",
"updated_at": "2018-12-24T05:30:31+03:00"
}
}
PUT
- /api/v1/payments/{id}¶
Update a payment
PUT /api/v1/payments/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
| Name | Required | Description |
|---|---|---|
| invoice_id | required | Invoice ID |
| payment_date | required | Date when the payment was made |
| amount | required | Amount of payment made |
| payment_method | required | Payment method ID |
| notes | optional | Payment additional notes |
| currency | optional | Payment Currency |
DELETE
- /api/v1/payments/{id}¶
Delete a payment
DELETE /api/v1/payments/{id}
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/payments¶
Get a list of all payments
GET /api/v1/payments
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/payments/{id}/comments¶
Show estimate comments
GET /api/v1/payments/{id}/comments
Accept: application/json
Authorization: Bearer $AccessToken
POST
- /api/v1/payments/{id}/refund¶
Mark a payment as refunded
POST /api/v1/payments/{id}/refund
Accept: application/json
Authorization: Bearer $AccessToken
Contracts¶
POST
- /api/v1/contracts¶
Create a new contracts
POST /api/v1/contracts
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
| Name | Required | Description |
|---|---|---|
| contract_title | required | Contract title |
| client_id | required | Client associated with the contract |
| start_date | required | Contract start date |
| end_date | required | Contract end date |
| expiry_date | required | Number of days before a contract expires. E.g 14 |
| payment_terms | optional | Number of days. E.g 14 |
| currency | optional | Contract Currency |
| termination_notice | optional | Number of days to be notified before termination |
| rate_is_fixed | optional | If fixed rate. Default 0 |
| fixed_rate | optional | Contract fixed amount e.g 1500.00 |
| hourly_rate | optional | Contract hourly rate |
| description | optional | Contract description |
| license_owner | optional | Contract license owner. freelancer or client |
| late_payment_fee | optional | Late payment fee |
| late_fee_percent | optional | If late payment is percentage. Default 1 |
| cancelation_fee | optional | Contract cancellation fee |
| is_visible | optional | Show/hide contract from client |
| deposit_required | optional | Amount of deposit required. E.g 1500.00 |
| services | optional | List of contract services. E.g Web Design, SEO |
| client_rights | optional | Rights granted to client |
| portfolio_rights | optional | Right to include work in portfolio. Default 1 |
| non_compete | optional | Add non-compete section. Default 1 |
| appropriate_conduct | optional | Enable sexual harassment clause. Default 1 |
GET
- /api/v1/contracts/{id}¶
Get contract information
GET /api/v1/contracts/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Sample Response¶
{
"type": "contracts",
"id": "10",
"attributes": {
"id": 10,
"title": "Dare LLC Contract",
"start_date": "2018-12-24T05:30:20+03:00",
"end_date": "2019-01-08T05:30:20+03:00",
"expiry_date": "2018-12-29T05:30:20+03:00",
"rate_is_fixed": 0,
"fixed_rate": null,
"hourly_rate": "12.97",
"currency": "USD",
"license_owner": "client",
"payment_terms": "6",
"late_payment_fee": "0.00",
"late_fee_percent": 1,
"termination_notice": 12,
"cancelation_fee": "11.19",
"deposit_required": "0.00",
"signed": 0,
"services": "Beatae blanditiis ea commodi et tempore est.",
"client_rights": "Qui culpa qui consequatur architecto nam officia. Minus nulla odio sapiente delectus ut. Dolore nemo reprehenderit dolore odit eum consequuntur. Voluptate nesciunt et vero beatae sint ut.",
"portfolio_rights": 1,
"non_compete": 1,
"feedbacks": 0,
"appropriate_conduct": 1,
"annotations": null,
"description": "Necessitatibus totam qui nostrum ad non qui distinctio. Ipsam non sed deserunt recusandae non eum amet. Et quo quaerat enim voluptates pariatur. Dolor sint cum voluptatem enim. Et ratione deleniti aut deserunt eligendi itaque aut. Qui et eius non voluptatibus quos a sunt. Et rerum quia suscipit nisi. Voluptatem exercitationem culpa at quo deleniti. Reprehenderit repellat ullam nemo tempore amet optio. Et porro distinctio nostrum minus placeat. Voluptatum dolore ex in qui esse occaecati eum. Minus iste nostrum id laudantium. Vel ipsam qui expedita sed et laborum commodi unde. Temporibus fugit sint voluptas fuga.",
"viewed_at": null,
"sent_at": null,
"is_draft": true,
"rejected_at": null,
"rejected_reason": null,
"user_id": 1,
"business": {
"id": 1,
"name": "Sipes-Schuster",
"contact_person"<EMAIL_ADDRESS>},
"created_at": "2018-12-24T05:30:20+03:00",
"updated_at": "2018-12-24T05:30:20+03:00"
}
}
PUT
- /api/v1/contracts/{id}¶
Update a contract
PUT /api/v1/contracts/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
Tip
Same as the create new contract parameters
DELETE
- /api/v1/contracts/{id}¶
Delete a contract
DELETE /api/v1/contracts/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Clients¶
POST
- /api/v1/clients¶
Create a new client
POST /api/v1/clients
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
| Name | Required | Description | ||
|---|---|---|---|---|
| name | required | Client Name | ||
| required | Client email address | |||
| contact_email | required | Contact email address | ||
| phone | optional | Client phone number | ||
| address1 | optional | Address | ||
| zip_code | optional | Zip Code | ||
| city | optional | City | ||
| state | optional | State | ||
| locale | optional | Preferred locale | ||
| country | optional | Country | ||
| tax_number | optional | Client tax number if any | ||
| currency | optional | Preferred currency | ||
| website | required | Client website URL | ||
| required | Client facebook link | |||
| optional | Twitter account URL | |||
| skype | optional | Skype address | ||
| optional | LinkedIn profile | |||
| notes | optional | Additional notes | ||
tags[] | optional | Array list of tags e.g tags[design] |
GET
- /api/v1/clients/{id}¶
Get client information
GET /api/v1/clients/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Sample Response¶
{
"type": "clients",
"id": "100",
"attributes": {
"id": 100,
"name": "Greenholt-Harris",
"code": "COM00100",
"email"<EMAIL_ADDRESS>"contact": {
"id": 1,
"email"<EMAIL_ADDRESS>"name": "William Mandai"
},
"address": {
"address1": "402 Reynolds Trace\nNorth Lutherchester, SD 94456-5868",
"address2": null,
"city": "East Geo",
"state": null,
"zipcode": null,
"country": "Peru"
},
"website": "https://hartmann.com",
"phone": null,
"mobile": null,
"tax_number": null,
"currency": "USD",
"expense": "0.00",
"balance": "0.00",
"paid": "0.00",
"social": {
"skype": null,
"facebook": null,
"twitter": null,
"linkedin": null
},
"notes": "Neque veritatis pariatur ut voluptatum. Qui officia molestias distinctio dicta quibusdam. Amet et adipisci ad eveniet.",
"logo": "/storage/logos/tux_droid_1.jpg",
"unsubscribed_at": null,
"created_at": "2018-12-24T05:30:17+03:00",
"updated_at": "2018-12-24T05:30:17+03:00"
}
}
PUT
- /api/v1/clients/{id}¶
Update client information
PUT /api/v1/clients/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
Tip
Same as the create new client API parameters
DELETE
- /api/v1/clients/{id}¶
Delete a client
DELETE /api/v1/clients/{id}
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/clients¶
Get a list of all clients
GET /api/v1/clients
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/clients/{id}/contacts¶
Show client contacts
GET /api/v1/clients/{id}/contacts
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/clients/{id}/projects¶
Show client projects
GET /api/v1/clients/{id}/projects
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/clients/{id}/invoices¶
Show client invoices
GET /api/v1/clients/{id}/invoices
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/clients/{id}/estimates¶
Show client estimates
GET /api/v1/clients/{id}/estimates
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/clients/{id}/payments¶
Show client payments
GET /api/v1/clients/{id}/payments
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/clients/{id}/subscriptions¶
Show client subscriptions
GET /api/v1/clients/{id}/subscriptions
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/clients/{id}/expenses¶
Show client expenses
GET /api/v1/clients/{id}/expenses
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/clients/{id}/deals¶
Show organization deals
GET /api/v1/clients/{id}/deals
Accept: application/json
Authorization: Bearer $AccessToken
Contacts¶
POST
- /api/v1/contacts¶
Create a new contact
POST /api/v1/contacts
Accept: application/json
Authorization: Key $ApiKey
Parameters¶
| Name | Required | Description |
|---|---|---|
| name | required | Contact Name |
| required | Contact email address | |
| phone | optional | Contact Phone Number |
GET
- /api/v1/contacts/{id}¶
Get contact information
GET /api/v1/contacts/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Sample Response¶
{
"type": "contacts",
"id": "10",
"attributes": {
"id": 10,
"name": "Johnathan Yundt I",
"job_title": "Floral Designer",
"email"<EMAIL_ADDRESS>"avatar": "/storage/avatars/avatar9.png",
"city": null,
"country": null,
"website": null,
"hourly_rate": "17.00",
"business": {
"id": 6,
"name": "Turcotte, Buckridge and Herman",
"contact_person"<EMAIL_ADDRESS>"currency": "USD",
"balance": "0.00",
"expense": "0.00",
"paid": "0.00"
},
"created_at": "2018-12-24T05:30:09+03:00",
"updated_at": "2018-12-24T05:30:16+03:00"
}
}
PUT
- /api/v1/contacts/{id}¶
Update contact information
PUT /api/v1/contacts/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
Tip
Same as the create contact API parameters
DELETE
- /api/v1/contacts/{id}¶
Delete a contact
DELETE /api/v1/contacts/{id}
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/contacts¶
Get a list of all contacts
GET /api/v1/contacts
Accept: application/json
Authorization: Bearer $AccessToken
Projects¶
POST
- /api/v1/projects¶
Create a new projects
POST /api/v1/projects
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
| Name | Required | Description |
|---|---|---|
| name | required | Project Name |
| client_id | required | Project client ID |
| start_date | required | Project start date |
| due_date | required | Project due date |
| currency | optional | Project Currency |
| description | optional | Description |
| hourly_rate | optional | Hourly rate |
| fixed_price | optional | Fixed Price. E.g 3400.00 |
| notes | optional | Project Notes |
| manager | optional | User ID |
| estimate_hours | optional | Project Estimated hours |
| billing_method | optional | hourly_staff_rate, hourly_task_rate, hourly_project_rate, fixed_rate |
| tags[] | optional | Array list of tags e.g tags[design] |
GET
- /api/v1/projects/{id}¶
Get project information
GET /api/v1/projects/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Sample Response¶
{
"type": "projects",
"id": "6",
"attributes": {
"id": 6,
"name": "Rice, Doyle and Bauch Project",
"code": "PRO0006",
"description": "Earum quia quis qui id minima et. Esse facere qui eligendi et eaque quia. Rerum corporis consequatur velit odit quam. Aliquam quia architecto et et repellendus. Molestiae et facilis neque dolor. Et laudantium totam aut et. Recusandae corrupti non maxime sed ratione eos ut. Cupiditate repellat harum quia dolor. Et voluptatum laboriosam ex nostrum sed necessitatibus repellat. Eveniet sunt enim est aut ea minima eos. Culpa nihil rem qui non sunt quia. Sed et adipisci porro dolore perferendis fugiat. Quisquam laboriosam quisquam et aspernatur. Rem vel ad facere enim cumque.",
"client_id": 3,
"business": {
"id": 3,
"name": "Ferry-Schuster",
"contact_person"<EMAIL_ADDRESS>},
"currency": "USD",
"start_date": "2018-12-24T00:00:00+03:00",
"due_date": "2019-03-01T00:00:00+03:00",
"hourly_rate": "59.38",
"fixed_price": "0.00",
"progress": 0,
"notes": null,
"manager": 1,
"status": "Active",
"estimate_hours": "82.08",
"used_budget": "0.00",
"billable_time": "0.00",
"unbillable_time": "0.00",
"unbilled": "0.00",
"sub_total": "0.00",
"total_expenses": "0.00",
"contract_id": null,
"billing_method": "hourly_project_rate",
"created_at": "2018-12-24T05:30:32+03:00",
"updated_at": "2018-12-24T05:30:32+03:00"
}
}
PUT
- /api/v1/projects/{id}¶
Update project information
PUT /api/v1/projects/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
Tip
Same as the create new project API parameters
DELETE
- /api/v1/projects/{id}¶
Delete project
DELETE /api/v1/projects/{id}
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/projects¶
Get a list of all projects
GET /api/v1/projects
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/projects/{id}/invoices¶
Show project invoices
GET /api/v1/projects/{id}/invoices
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/projects/{id}/tasks¶
Show project tasks
GET /api/v1/projects/{id}/tasks
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/projects/{id}/expenses¶
Show project expenses
GET /api/v1/projects/{id}/expenses
Accept: application/json
Authorization: Bearer $AccessToken
POST
- /api/v1/projects/{id}/done¶
Mark project as done
POST /api/v1/projects/{id}/done
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
| Name | Required | Description |
|---|---|---|
| id | required | Project ID |
Tickets¶
POST
- /api/v1/tickets¶
Create a new ticket
POST /api/v1/tickets
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
| Name | Required | Description |
|---|---|---|
| department | required | Ticket department ID |
| subject | required | Ticket subject |
| body | required | Ticket Message |
| project_id | optional | Project ID associated with the ticket |
GET
- /api/v1/tickets/{id}¶
Get ticket information
GET /api/v1/tickets/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Sample Response¶
{
"type": "tickets",
"id": "10",
"attributes": {
"id": 10,
"subject": "Arvid Ticket",
"code": "TKT-20181224-0010",
"body": "Iure et laborum debitis quod veniam eum vel temporibus. Et id culpa asperiores molestiae qui animi ad necessitatibus. Ea unde corporis omnis. Minus est dignissimos cupiditate facere autem. Quia natus aliquam qui et. Incidunt et deleniti tempore ut repellat accusamus sed. Hic quasi dolores minima molestiae. Sint non cumque repellat alias vero et perspiciatis. Ad enim qui rerum libero. Labore aut voluptas dolores possimus tenetur. Vero maxime facilis aut debitis est quis dignissimos. Quae ipsa id nihil illo. In omnis ratione sunt quo est et officia. In repudiandae recusandae ipsa similique beatae adipisci.",
"status": {
"id": 1,
"name": "open"
},
"department": {
"id": 1,
"name": "Billing"
},
"user_id": 1,
"project_id": null,
"priority": {
"id": 1,
"name": "Low"
},
"due_date": "2018-12-27T00:00:00+03:00",
"closed_at": null,
"assignee": {
"id": 1,
"name": "William Mandai"
},
"resolution_time": 0,
"archived_at": null,
"created_at": "2018-12-24T05:30:44+03:00",
"updated_at": "2018-12-24T05:30:44+03:00"
}
}
PUT
- /api/v1/tickets/{id}¶
Update ticket information
PUT /api/v1/tickets/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
Tip
Same as the create new ticket API parameters above
DELETE
- /api/v1/tickets/{id}¶
Delete ticket
DELETE /api/v1/tickets/{id}
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/tickets¶
Get a list of all tickets
GET /api/v1/tickets
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/tickets/{id}/comments¶
Show ticket comments
GET /api/v1/tickets/{id}/comments
Accept: application/json
Authorization: Bearer $AccessToken
Tasks¶
POST
- /api/v1/tasks¶
Create a new task
POST /api/v1/tasks
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
| Name | Required | Description | ||||
|---|---|---|---|---|
| project_id | required | Project ID | ||
| user_id | required | Task creator user id | ||
| name | required | Task Name | ||
| start_date | optional | Task start date | ||
| due_date | optional | Task due date | ||
| hourly_rate | optional | Hourly rate e.g 30.00 | ||
| milestone_id | optional | Milestone ID | ||
| stage_id | optional | Task stage ID | ||
| team[] | optional | Array list of team member ID’s | ||
| estimated_hours | optional | Task estimated hours e.g 72 | ||
| description | optional | Description | ||
| visible | optional | Hide or show to client | ||
| tags[] | optional | Array list of tags e.g tags[design] |
GET
- /api/v1/tasks/{id}¶
Get task information
GET /api/v1/tasks/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Sample Response¶
{
"type": "tasks",
"id": "10",
"attributes": {
"id": 10,
"name": "McGlynn-Jaskolski Task",
"project": {
"id": 1,
"name": "Stracke PLC Project"
},
"milestone": {
"id": null,
"name": null
},
"progress": 94,
"hourly_rate": "4.08",
"estimated_hours": "0.00",
"estimated_price": "$0.00",
"hours": 0,
"start_date": "2019-01-07T00:00:00+03:00",
"due_date": "2019-01-16T00:00:00+03:00",
"description": "Vel autem ea aperiam nihil. Consequatur neque omnis omnis ut fugiat amet dolores. Voluptates quisquam odit tenetur doloremque ipsa voluptates.",
"updated_at": "2018-12-24T05:30:32+03:00",
"created_at": "2018-12-24T05:30:32+03:00"
}
}
PUT
- /api/v1/tasks/{id}¶
Update task information
PUT /api/v1/tasks/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
Tip
Same as the create task API parameters above
DELETE
- /api/v1/tasks/{id}¶
Delete a task
DELETE /api/v1/tasks/{id}
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/tasks¶
Get a list of all tasks
GET /api/v1/tasks
Accept: application/json
Authorization: Bearer $AccessToken
Todos¶
POST
- /api/v1/todos¶
Create a new todo
POST /api/v1/todos
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
| Name | Required | Description | ||||
|---|---|---|---|---|
| module | required | Module related to todo e.g deals, clients, leads |
||
| module_id | required | Entity ID e.g 18 |
||
| subject | required | Todo subject | ||
| due_date | optional | Todo start date | ||
| assignee | optional | User ID of the person responsible | ||
| notes | optional | Additional notes |
GET
- /api/v1/todos/{id}¶
Get todo information
GET /api/v1/todos/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Sample Response¶
[
{
"m_number": "UN47102220",
"lastname": "Stephen Barungi",
"firstname": "",
"other_names": "",
"gender": "N/A",
"contacts": [
{
"contact"<EMAIL_ADDRESS>},
{
"contact": "+256755168219"
}
]
},
{
"m_number": "DV1088633736",
"lastname": "steve",
"firstname": "baros",
"other_names": "",
"gender": "",
"contacts": [
{
"contact"<EMAIL_ADDRESS>}
]
}
]
PUT
- /api/v1/todos/{id}¶
Update todo information
PUT /api/v1/todos/{id}
Accept: application/json
Authorization: Bearer $AccessToken
Parameters¶
| Name | Required | Description |
|---|---|---|
| subject | required | Todo subject |
| due_date | optional | Todo start date |
| assignee | optional | User ID of the person responsible |
| notes | optional | Additional notes |
DELETE
- /api/v1/todos/{id}¶
Delete a todo
DELETE /api/v1/todos/{id}
Accept: application/json
Authorization: Bearer $AccessToken
GET
- /api/v1/todos¶
Get a list of all todos
GET /api/v1/todos
Accept: application/json
Authorization: Bearer $AccessToken
Introduction¶
Workice CRM is a place for you to store information on the people and clients you interact with and track your outreach efforts. The CRM includes sales and marketing dashboards, invoicing dashboard, expenses dashboard, payments dashboard, projects and ticketing dashboards.
To purchase Workice CRM visit Envato Market
Invoicing Dashboard¶
This is the first page you’ll see when you login. It provides a general overview of the invoicing status of your freelance business. The page displays the invoice-specific data that’s associated with your business. It also allows you to see the updates at a glance.
The dashboard is designed to offer a simple yet powerful overview of your total business accounts:
- Outstanding: The total amount of all unpaid invoices.
- Invoiced: The total amount invoiced so far.
- This Month: Total amount invoiced in the current month.
- Last Month: Total amount of invoices created last month.
Tip
If you are being paid in a range of currencies, the dashboard will display the totals in your Base Currency.
Chart Below the stats boxes, you’ll see a chart presenting your invoicing data in an easy-to-understand graphical format. The data presented in the chart are total invoiced amount versus revenue collected in the current Year.
Sales Dashboard¶
Sales dashboard provides a general overview of deals and leads.
The dashboard provides the information below:
- Won Deals: Total amount of won deals.
- Lost Deals: The total amount of lost deals.
- This Month: Total amount of deals this month.
- Forecasted: Get an idea of the revenue projection for your company.
Tip
If you are being paid in a range of currencies, the dashboard will display the totals in your Base Currency.
Chart Below the stats boxes, you’ll see a chart presenting your sales data in an easy-to-understand graphical format. The data presented in the chart are total won deals versus lost deals in the current Year.
Expenses Dashboard¶
Expenses dashboard provides a general overview of your expenses.
The dashboard provides the information below:
- Billed: Total amount of billed expenses.
- Unbillable: Total amount of unbillable expenses.
- This Month: Total amount of expenses this month.
- Last Month: Total amount of expenses last month.
Tip
If you are being paid in a range of currencies, the dashboard will display the totals in your Base Currency.
Chart Below the stats boxes, you’ll see a chart presenting your expenses data in an easy-to-understand graphical format. The data presented in the chart are total amount of expenses billable versus total amount billed in the current Year.
Payments Dashboard¶
Payment dashboard provides a general overview of your payments status of your freelance business.
The dashboard provides the information below:
- Receipts: Total amount received so far.
- Credits: Total amount of creditnotes issued.
- This Month: Total amount of payments received this month.
- Last Month: Total amount of payments received last month.
Tip
If you are being paid in a range of currencies, the dashboard will display the totals in your Base Currency.
Chart Below the stats boxes, you’ll see a chart presenting your payments data in an easy-to-understand graphical format. The data presented in the chart are total amount of payments received versus total amount creditnotes issued in the current Year.
Projects Dashboard¶
Project dashboard provides a general overview of your project status of your freelance business.
The dashboard provides the information below:
- Active: Total number of active projects.
- Done: Total number of completed projects.
- Pending Tasks: Total number of pending tasks.
- Done Tasks: Total number of completed tasks.
Chart Below the stats boxes, you’ll see a chart presenting your projects data in an easy-to-understand graphical format. The data presented in the chart are total number of projects, tasks and issues in the current Year.
Ticketing Dashboard¶
Ticketing dashboard provides a general overview of your support status for your freelance business.
The dashboard provides the information below:
- Open: Total number of open tickets.
- Closed: Total number of closed tickets.
- Tickets: Total number tickets.
- Response Time: Average amount of time used to solve a ticket
Chart Below the stats boxes, you’ll see a chart presenting your tickets data in an easy-to-understand graphical format. The data presented in the chart are total number of tickets versus the number of ticket replies in the current Year.
Right Sidebar: Activities¶
The Activity list is incredibly useful as it presents an up-to-date, action-packed summary of what is happening across your entire CRM. Every action taken, whether by you or by one of your clients, is listed in chronological order, together with the date the action occurred.
Accounts¶
Your clients are the core of your freelance business. Accounts/Clients in WorkiceCRM will typically hold all information specific to a company that your organisation will have a relationship with. In real world terms an Account may be a business entity that is a qualified Sales Prospect, Customer, Supplier or Re-seller and can be used to track all interactions that take place between these entities and your organisation. The relationship between the account and contact records is one-to-many, such that there can be many contacts associated with a single account.
Contacts¶
In Workice, a Contact is an individual who is typically associated with an Account (organisation) or Opportunity (qualified prospect). For example if Apple is the Account, then John Smith, Sales Manager of Apple is the Contact. This module holds all information relating to these individuals and also provides a vantage point for any history relating to a Contact record, for example if they sent you an Email.
List Accounts¶
The Accounts page is a list page that presents a summary of all your clients in a user-friendly table. Think of Accounts page as the “central station” of your client activity. Most of your day-to-day invoicing actions can be taken from the various links and buttons that appear on the Accounts page. And you can use the Accounts page as your starting point to explore more in-depth client information, view client projects, view client estimates, and more. Now, we’ll take a closer look at the setup of the Clients page, and the range of actions available to you on the Accounts page.
To view your client list page, go to the main sidebar and click the Accounts tab.
Overview¶
The Clients page presents a list summary of all your current clients in a table format. The main elements of the table include:
- Name: The name of the client
- Contact Person: The name of the primary contact person
- Email: The client email address
- Balance: The client’s payment balance
- Expenses: The client’s unbilled expenses
Create Account¶
So, you’ve taken on a new client? Congratulations!
Your Clients list is at the heart of your invoicing activity, so it’s really important to maintain current information on all your clients. When you start working with a new client, the first thing you’ll need to do is to add the new client by entering their contact information and business details.
When creating and saving a new client to your Accounts list, make sure to have the relevant, up-to-date information at hand. You are only required to enter the information one time. WorkiceCRM automatically tracks all invoicing,projects,estimates and payment activity for each client.
Account Creation
To create accounts individually.
Tip
The Create Account page is divided into four sections. Enter the information in the relevant fields.
Let’s take a closer look at each section:
- General: Enter details about your client’s business/company/organization, including the company name, email, contact person, tax number and tags (optional).
- Contact: Enter contact details related to your client including phone number, address, currency, preferred locale and a logo (optional).
- Web: Enter your client social media or website data.
- Custom Fields: If there are any custom fields for clients, it will be displayed here.
Account Overview Page¶
Once you have created an account, you can view the details of the account in the record’s details page. The details page of an account presents information related to the account - for example, contacts, projects, invoices, deals, payments, expenses, subscriptions and so on - in a single location.
Tip
If you entered the client’s street address, a Google map appears below the information box displaying the client’s location.
Invoices Section¶
The Invoices section shows a list of all the client’s invoices and accompanying information.
- Invoice Reference: The invoice number
- Date Issued: The date the invoice was created
- Amount: The invoice amount
- Balance: The invoice balance
- Due Date: The date the payment is due
- Status: The status of the invoice (Draft, Not Paid, Sent, Viewed, Paid, Overdue)
Tip
You can also create a new invoice for this client via the Create button that appears at the top left of the Invoices section.
Payments Section¶
The Payments section shows a list of all the client’s payments and accompanying information.
- Transaction reference: The reference number of the transaction
- Method: The payment method (ie. Paypal, Stripe, Cash, etc)
- Amount: The payment amount
- Date: The date the payment was made
- Currency: Currency used in the payment
Projects Section¶
The projects section shows a list of all the client’s projects and accompanying information.
- Title: The invoice number
- Expenses: Total expenses for the project
- Start Date: The start date of the project
- Amount: Total cost of the project
- Progress: Project progress in percentage
- Due Date: The date the project is due
- Status: The status of the project (Active, Done, On Hold)
Estimates Section¶
The estimates section shows a list of all the client’s estimates and accompanying information.
- Estimate Reference: The estimate number
- Date Issued: The date the estimate was created
- Amount: The estimate amount
- Viewed: An icon showing whether an estimate has been viewed by client
- Due Date: The date the estimate is due
- Status: The status of the estimate (Draft, Pending, Sent, Approved, Rejected, Overdue)
Tip
You can also create a new estimate for this client via the Create button that appears at the top left of the estimates section.
Expenses Section¶
The expenses section shows a list of all the client’s expenses and accompanying information.
- Expense reference: The reference number of the expense
- Category: Expense category (ie Housing, Marketing etc)
- Amount: The expense amount
- Date: The date the expense was incurred
- Invoiced: Whether the expense has been invoiced
- Currency: Currency used in the expense
Files Section¶
The Files section shows a list of all the client’s associated files.
Subscriptions Section¶
The subscriptions section shows a list of all the client’s subscriptions.
Updating Client¶
Click on the Update button, at the top right corner of the page. You will now be taken to the Account/Update page, where you can edit any of the fields.
Deleting the Client¶
You can also delete the specific client directly from their Client Overview page. Click on the trash icon at the right hand side of the Update Client button.
Calendar¶
Workice CRM Calendar module allows users to easily schedule, view, and manage their activities like calls, meetings and appointments, all in one place. Easily keep track of all your customer invoices, payments, expenses, leads, tasks etc
Add Calendar Type¶
By default 2 calendar types are available, Work and Personal
. You are free to add/update or delete calendar types by clicking on the Gear icon at the top right of the Calendar page.
iCal Feed URL¶
Click on iCal buton to see options for pulling events from your Workice Calendar and pushing them into other calendar apps. You will now see a popup with your iCal Feed URL. Follow the on-screen instructions to “subscribe” to events in your Workice Calendar with other apps. New events created in Workice CRM will then show up automatically in those other apps.
Google Calendar¶
To display events from your Google Calendar, Go to Settings -> System Settings and enter your Google Calendar API key and your Google Calendar ID. Once the settings are configured, your events will display on Workice calendar.
Reports¶
You can only manage what you can measure. With Workice CRM, manage the way your business is run with reporting that breaks down key metrics relating to your sales trends, invoices, projects, expenses and more. Reports are a great way to not only see how you’re doing, but also forecast where you’re going in the future.
Attention
All the charts and statistics displayed in the reports section will use your base currency.
Invoices Report¶
Your Invoice Details Report gives you a comprehensive overview of all Invoices you have generated in a given time period. You can run an Invoice Report by doing the following:
- Click on the Reports tab
- Select Invoices module from the Modules dropdown menu.
- Click Reports button.
There are a few options you can change when generating reports;
- Date Range – You can set a date range you would like this report to include information within
- Clients – You can run Client(s) specific Invoice reports if necessary
- Recurring – Choose to only include recurring invoices
- Status – Choose to only include Invoices with specific statuses (such as Not Paid, Fully Paid, Cancelled etc)
- Sent – Only display sent invoices
Deals Report¶
These options are for simple and effective analysis of the bottom line: winning or losing deals.
These reports are excellent milestone reports, to demonstrate how many deals were closed in the account.
Note
If you have setup cron correctly, sales velocity and conversion rate will be calculated daily at 04:00.
Sales velocity¶
- Displays the average amount of time a deal’s creation until the deal it marked as WON or LOST.
- Recommended for gaining insight into how effective your users or processes are in closing deals quickly.
Conversion Rate¶
- Displays how many deals are won compared to the total number of deals.
- Recommended for knowing if you lose many of your deals allowing you to make improvements to address any issues.
Deals won¶
- Displays the number of deals marked as WON in a particular month.
- Recommended for an easy at-hand report of how your business is bringing in income through its sales process.
Deals lost¶
- Displays the number of deals marked as LOST in a particular month.
- Recommended for an easy at-hand report of the deals that did not make it through, allowing you to do better in the future.
You can run Deals Report by doing the following:
- Click on the Reports tab
- Select Deals module from the Modules dropdown menu.
- Click Reports button.
There are a few options you can change when generating reports;
- Date Range – You can set a date range you would like this report to include information within
- Pipeline – You can run reports for a specific pipeline
- Stage – Choose to only include deals in specific stage
- User – Choose to only include deals assigned to a user
- Status – Only display deals in open, won or lost status
Leads Report¶
A CRM leads report shows you how many leads your sales team has acquired in a given time frame, as well as the lead source and stages. You can run leads report by doing the following:
- Click on the Reports tab
- Select Leads module from the Modules dropdown menu.
- Click Reports button.
There are a few options you can change when generating reports;
- Date Range – You can set a date range you would like this report to include information within
- Stage – Choose to only include leads in specific stage
- Source – You can run reports for a specific lead source e.g Google
- Sales Agent – Choose to only include leads assigned to a user
- Archived – Only display archived/unarchived leads
Expenses Report¶
The Expense Report breaks down all of your expenses into detail. You can run expenses report by doing the following:
- Click on the Reports tab
- Select Expenses module from the Modules dropdown menu.
- Click Reports button.
There are a few options you can change when generating reports;
- Date Range – You can set a date range you would like this report to include information within
- Client – Choose to show expenses for a specific client
- Project – You can run reports for a specific project
- Billable – Choose to only include billable expenses
- Billed – Only display billed/unbilled expenses
- Category – Only display expenses in a specific category
Payments Report¶
Your Payments Report breaks out all of the payments you have recorded in Workice. You can run payments report by doing the following:
- Click on the Reports tab
- Select Payments module from the Modules dropdown menu.
- Click Reports button.
There are a few options you can change when generating reports;
- Date Range – You can set a date range you would like this report to include information within
- Project – You can run reports for a specific project
- Client – Choose to show expenses for a specific client
- Invoice – Choose to only include payments for an invoice
- Payment Method – Only display payments received in a specific payment provider
Estimates Report¶
The estimates report shows you how many estimates have been sent, approved or rejected in a given time frame. You can run estimates report by doing the following:
- Click on the Reports tab
- Select Estimates module from the Modules dropdown menu.
- Click Reports button.
There are a few options you can change when generating reports;
- Date Range – You can set a date range you would like this report to include information within
- Client – Choose to show estimates for a specific client
- Status – Choose to show accepted, declined or pending estimates
- Sent – Include only those estimates that have been sent/not sent
- Invoiced – Choose to only include invoiced or uninvoiced estimates
Credits Report¶
The creditnotes report shows you how many credits have been closed or open in a given time frame. You can run creditnotes report by doing the following:
- Click on the Reports tab
- Select Creditnotes module from the Modules dropdown menu.
- Click Reports button.
There are a few options you can change when generating reports;
- Date Range – You can set a date range you would like this report to include information within
- Client – Choose to show credits for a specific client
- Status – Choose to show open or closed credits
- Sent – Include only those credits that have been sent or not sent
Projects Report¶
Within Workice Projects, you can generate a project report, designed to give you an overview of all projects within your CRM. You can run projects report by doing the following:
- Click on the Reports tab
- Select Projects module from the Modules dropdown menu.
- Click Reports button.
There are a few options you can change when generating reports;
- Date Range – You can set a date range you would like this report to include information within
- Client – Choose to show projects for a specific client
- Status – Choose to show active, done and on hold projects
- With Contract – Include only those projects which has a contract or does not have a contract
Tasks Report¶
The Tasks Report lists all tasks in your CRM, and allows you to filter by stage, milestone and task project. You can run tasks report by doing the following:
- Click on the Reports tab
- Select Tasks module from the Modules dropdown menu.
- Click Reports button.
There are a few options you can change when generating reports;
- Date Range – You can set a date range you would like this report to include information within
- Project – Choose to show tasks for a specific project
- Milestone – Choose to show tasks linked to a specific milestone
- Stage – Include only those tasks in a particular stage
- User – Include only those tasks created by a particular user
Timesheet Reports¶
The Timesheet Report is a very helpful way for your business to review how much time is being spent on a given project and by whom. Time Reports show the hours and billable information for each project, task and team member.
You can run time report by doing the following:
- Click on the Reports tab
- Select Timesheets module from the Modules dropdown menu.
- Click Reports button.
There are a few options you can change when generating reports;
- Date Range – You can set a date range you would like this report to include information within
- Project – Choose to show time entries for a specific project
- Task – Choose to show time entries for a specific task
- Billable – Include only those time entries that are billable or unbillable
- User – Include only those time entries created by a particular user
Ticket Reports¶
The tickets report show the number of tickets created and solved by date.
You can run tickets report by doing the following:
- Click on the Reports tab
- Select Tickets module from the Modules dropdown menu.
- Click Reports button.
There are a few options you can change when generating reports;
- Date Range – You can set a date range you would like this report to include information within
- Reporter – Choose to show only those ticket opened by a specific user
- Status – Choose to show tickets in specified status e.g open, closed etc
- Department – Choose to show tickets for a specific department
- Priority – Choose to show tickets that have low,high or medium priority
Agent Performance¶
You can view agent performance by clicking on Type button in the Ticket Reports page.
- The agent performance table contains the columns below;
- Name: Ticket agent name
- Comments: The number of ticket comments posted by the agent
- Resolved: The number of tickets solved by the agent
- Feedback: The percentage number of happy customer feedbacks
Ticket Feedbacks¶
You can view ticket ratings by clicking on Type button in the Ticket Reports page.
- The ticket feedback table contains the columns below;
- Name: Ticket requester name
- Ticket: The ticket that the ticket requester rated
- Date: Date when the rating was received
- Rating: Whether the client was happy/dissatisfied
Knowledgebase¶
Internet businesses are, in a sense, always open. Customers interact with your website 24/7, and when they have a question, they want an answer that minute.
The best knowledge software anticipates your users’ most common problems and makes it quick and easy for them to find the solution they need. That’s why a knowledge base is also useful for customer service agents. While working on a user’s ticket, an agent can interact with your intuitive knowledge base content to learn more about their problem.
Create Categories¶
To create article categories, click on gears icon at the top right of the articles list page. A modal will pop up and you can create, edit or delete article categories.
Create Article¶
- Click on Create button
- Add article subject and select a category
- Write the body of your article.
- To disable comments on the article, uncheck Allow Comments checkbox
- To save the article as draft/unpublished, uncheck the Published checkbox
Attention
The editor supports markdown text do not use html tags.
System Settings¶
You can view and edit the system configuration in your CRM by going to Settings and clicking on the System Settings.
You can modify the settings below;
- Purchase Code: Enter your purchase code (Used for license verification)
- Default Language: The default system language
- Locale: Your preferred system locale
- Timezone: Your timezone
- Default Currency: Your preferred currency. Default USD
- Currency Symbol: Must be the symbol of your default currency above
- Default Calendar: System default calendar type e.g Work or Personal
- Tax 1: Default Tax 1 percentage
- Default Subscription: Enter your default subscription name
- Tax 1 Label: Give your Tax 1 a name e.g GST
- Tax 2: Enter the default Tax 2 percentage
- Tax 2 Label: Give your Tax 2 a name
- Tax Decimals: The number of decimals to be used in tax display
- Quantity Decimals: Number of decimals to be used in displaying quantity
- Date Format: Choose your preferred date format
- File max size: Maximum file size in KB e.g 8192 for 8MB
- Allowed files: Comma separated list of allowed files e.g png,pdf,docx etc
- Privacy Policy URL: A link to your privacy policy
- Slack webhook URL: Your company slack webhook url to receive notifications
- Open Exchange API Key: If left blank, the system will use our rates server to fetch currency rates.
 It will look something like<EMAIL_ADDRESS>- Default Role: When a user is created or registered, this role will be assigned.
Attention
Do NOT set the Default Role to admin.
- Other Options
- Auto Reminder: Send email reminders for estimates, contracts, tasks or todos when almost overdue.
- Enable Languages: When enabled, you can select your preferred language using the dropdown languages menu.
- Use Gravatar: Use gravatar to retrieve user avatars
- Allow Client Registration: Enable client registrations
- Show amount in words: Show amount in words (Invoices, Credits, Estimates and Payments)
- Daily Digest: Enable this option to receive daily email digest
- Exchange Rates: Enable exchange rate updates
- Use ReCaptcha: Use ReCaptcha in registrations
- Clients add projects: Clients can add projects
- Stop timer logout: When this option is enabled, running timers will be stopped when you logout.
- Contract to Project: Automatically convert a contract into a project once it’s signed
- Update Notifications: Receive update notifications
- Demo Mode: Turn application into demo mode useful for those who purchased extended license and want to show a demo.
Social Logins¶
In addition to typical, form based authentication, Workice CRM also provides a simple, convenient way to authenticate with OAuth providers.
Tip
Workice CRM currently supports authentication with Facebook, Twitter, LinkedIn, Google, GitHub and GitLab
Attention
Before using Social Logins, you will have to enable it in Settings > System Settings. Activate the Social Login checkbox.
Note
New user accounts will be created if they do not exist.
Facebook Configuration¶
Twitter Configuration¶
Google Configuration¶
Github Configuration¶
LinkedIn Configuration¶
Gitlab Configuration¶


### Welcome to Kafilah's page.
my personal site
kafilah loves pizza! Pizza.
second paragraph
This is a third paragraph
Kafilah is an aspiring dj, programmer and designer.Pizza.
Always willing to learn new things Kafilah loves being around people.
Kafilah is dedicated to being immersed in the ever evolving world of technology.


Day 1: Wed August
22nd
"Getting the Data: Environmental Genomics and What We Want Learn From
It"
- (11.00 am - 11.30 am) Organizational and
Practical
Introduction
- (11.30 am - 12.45 pm)
Lecture 1.
Peer Bork
Overview: From Genomes to
Systems
-
(12.45 pm - 1.30 pm)
Lecture 2. Peer Bork
Light-driven Processes in Microbes
-
(1.30 pm - 3.00 pm)
Lunch
-
(3.00 pm - 3.30 pm) Lecture
3. Christian von Mering
Metagenomics 101 - datasets, resources and analysis
scenarios
-
(3.30 pm - 4.00 pm) Lecture
4. Jan Korbel
Introduction to Photolyases / Cryptochromes
- (4.00 pm - 4.30 pm)
Transfer to UNAM / Coffee
Break
- (4.30 pm - 7.00 pm)
Tutorial 1. Christian von
Mering, Jan
Korbel
Getting
acquainted with metagenomics data / how to identify photolyase genes
Day
2: Thu August 23rd
"The Function of the
Parts: Protein Domains, Structures and
Orthology"
- (10.00 am - 11.00 am)
Lecture 5.
Francesca
Ciccarelli New
Sequencing Technologies
-
(11.00 am - 12.00 am)
Lecture 6.
Roland Krause
Orthology Assignment, COGs, HMMs
-
(12.00 am - 12.30 am)
Coffee
Break
-
(12.30 am - 1.30 pm)
Lecture 7.
Rebecca Wade
Modelling molecular interactions using protein
structures
- (1.30 am - 3.30 pm)
Lunch
- (3.30 pm -
5.00 pm)
Tutorial 2.
Roland Krause
Camera database, IMG/M database
- (5.00 pm - 5.30 pm)
Coffee
Break
- (5.30 pm - 7.30
pm) Tutorial
3. Rebecca
Wade Structural Biology /
Modelling
Day
3: Fri August
24th
"Genomic Context and Comparative
Analysis: Separating the Known from the
Novel"
- (10.00 am - 11.00 am)
Lecture 7.
Shamil
Sunyaev Molecular Evolution and Phylogenetic
Trees
-
(11.00 am - 12.00 am) Lecture 8.
Jan Korbel
Genomic Context Analysis
- (12.00 am - 2.00 pm)
Lunch
- (2.00 pm - 3.30 pm) Tutorial 4.
Jan Korbel
Genomic Context Analysis using the STRING
database
- (2.00 pm - 3.30 pm) Coffee Break
- (3.30 pm - 5.00
pm) Tutorial 5.
Shamil Sunyaev
Phylogenetic tree reconstruction, and
detection of photosensors in complete genomes
Day
4: Sat August
25th
"Transcriptional Regulation in
Bacteria"
- (9.00 am - 2.00 pm)
Excursion
Xochicalco Archaeological site
-
(2.00 pm - 4.00 pm)
Lunch
-
(4.00 pm - 5.00 pm) Lecture 9.
Enrique
Morett
Global promoter mapping and analysis
-
(5.00 pm - 6.00 pm) Lecture 10.
Enrique Moreno
Conserved regulatory motifs in bacteria:
riboswitches and beyond
- (6.00 pm - 6.30 pm)
Coffee
Break
- (6.30 pm - 9 pm) Tutorial 6.
Enrique Morett and Enrique
Moreno Transcriptional Regulation in
Bacteria
Day
5: Sun August
26th
"Putting the stories
together"
- (10.00 am - 10.10 am) Mini Lecture
Mexico, Metagenomics and Millimeter
Scales
- (10.10 am - 11.30 am) Free
Work on Photoylase Operons
- (11.30 am - 12.00 am)
Coffee Break
-
(12.00 am - 1.00 pm) Optional presentations by course participants
(Current / Future Works)
- (1.00 pm - 2.30 pm) Lunch
- (2.30 pm - 3.30 pm) Wrap-up Discussion, Closing
Remarks
- (3.30 pm - 5.00 pm)
Free Time for left-over tutorials /
projects


Project 1: Visualizing time series data
Project 1 is due at 11:59pm Sunday, 10/2.
This project is 20% of your final grade:
10% for design and implementation.
5% for project report on Github.
5% for in-class presentation.
Project Description:
Project 1 is an individual project.
Every student needs to practice with writing an application in javascript and D3, making report on Github, and present his/her visualization in class.
In this project, student will work on the US employment data available on Bureau of Labor and Statistics. Data description can be found on the website.
In particular, we will focus on employment rate by state.
For a C, you will need to:
- Collect the data from BLS website. Some pre-processing might be needed to obtain unemployment rate.
- Set up an Github account to share source code and project report to instructor and TA
- Allow users to select a state and display its unemployment rate in the graph.
- Allow user to add more than one states (to compare) or all states into the graph.
- Graph labels are available and easy to read.
For a B, you will need to add:
- Display and compare to the national unemployment rate on request.
- Allow state selection from a US map.
- Highlight a state on the map when mousing over a time series.
- Your visualization should be responsive.
- Allow users to quickly zoom into a time interval.
For an A, you will need to add:
- Compare unemployment rates of different years and states.
- Compare unemployment rate to other variables (that you think it is useful) on BLS website or other resources.
- Find some interesting events in the data and highlight them on your webpage through screen snapshots.
For extra credits, you may want to:
- Plot a time series with requested features on the graph, such as a sudden drop or pump.
Please find these features in my paper. Explain the stories behind these features.
- Cluster time series by raw data or by its features using a basic clustering algorithm such as K-means.
- Predict state/national unemployment rate in 2017.
The following images are from "Graphical Perception of Multiple Time Series" paper, avaialble here.
You should:
- Understand the pros and cons of each time series visualization technique.
- Select the right technique for your data.
Line graph
Small multiples
Stacked graph
Braided graph
Horizon graph
Other resourses/applications for time series:
- D3 Show Reel
- Baby name voyager
- A Visual Backchannel for Large-Scale Events by Marian Dörk, infoVis 2010
paper and video
Notes:
This project is a web-based application in javascript, html, and D3.
Your code should run on all browsers (Chrome, Safari, Firefox, Explorer,...). You should test it in the classroom before your presentation to avoid issues, such as different versions of web browsers, screen resolutions, usage of classroom devices. Remember that you only have 5 minutes.
Your application should start out showing some data or an overview and then allow users to add more or request details on demand. Do not start with an empty screen and do not overwhelm viewers by showing a lot of the data right away.
Do not write the application at the last minute to avoid mistakes. Make sure that your code runs and that you have enough time to design intuitive interfaces.
Make sure your code is well commented (this is a good practice). Instructor may inspect your source code.
Project report on Github (readme file):
Create a 3-minute video showing the use of your application with your voice over. That video should appear on the top of your github readme file. On Mac, you can use screen-capture of QuickTime Player while interacting with your application. Voice could be recorded together or separately.
The video is a good way to show your interactive application in a short amount of time. If you submit a paper to a visualization conference, a video is very useful. It can be also a backup during your presentation just in case of something go wrong.
Add a link to your web-based application (right after the video). You can host it on your github, your ttu personal page, or somewhere.
Add data description: how you processed the data or where you got it from.
Your findings (interesting things you found about the data using your visualization). You can add some screenshots here.
An example github report can be found here.
In-class presentation:
By 11:59pm Sunday 10/9, you will need to send the TA (not the instructor) your name, a nice 1920 x 512 jpg image of your visualization (the image should be named p1.<your_last_name>.<your_first_name>.jpg), your github link, and your web application link. The TA will make an html table with all of your projects.
The presentation is 6 minutes per student (and that is firm). It is 5 minute talk and 1 minute for questions. Make sure that you are ready to talk right after your friend (in front of you) is done.
Please practice your talk. Show the basic functionality and emphasize on why your visualization is different.
© Last revised: Oct 10, 2016


What is it?
pretty-money
is a currency formatting library for JavaScript.
It can help you format financial values in any way you desire. While being highly customizable, pretty-money
is easy to use and extremely lightweight (471 bytes minzipped).
pretty-money
is dependency-free and totally not biased towards browser or Node versions.
Unlike Number.prototype.toLocaleString
, pretty-money
produces the same code in
every environment.
Install
pretty-money
can be installed as an npm module:
npm install pretty-money
# or
yarn add pretty-money
...or served from CDN like jsDelivr:
<script
<EMAIL_ADDRESS>>
</script>
Usage
There are two ways to use pretty-money
: traditional and functional.
Traditional way is to call the function with two parameters: the config object
and the number you need to format:
const prettyDollarConfig = {
currency: "$",
position: "before",
spaced: false,
thousandsDelimiter: ","
}
const priceA = prettyMoney(prettyDollarConfig, 1234); //=> "$1,234"
const priceB = prettyMoney(prettyDollarConfig, 567.89); //=> "$567.89"
Functional way is to curry the function, i.e. to create a function with a set
config and to later call it with only one parameter — the number to format:
const prettyEuro = prettyMoney({
currency: "€",
decimals: "fixed",
decimalDelimiter: ",",
thousandsDelimiter: "."
})
const priceA = prettyEuro(1234); //=> "1.234,00 €"
const priceB = prettyEuro(567.89); //=> "567,89 €"
You can read more about how to configure pretty-money
in the README.


One can grow only when they can compare their progress with others.
So here we povide the option for users to compare themselves
with other users to know their actuall overall progress!!
Compare with others!!
Enter user handle of both users
Enter first user handle
Enter second user handle
Enter


wildfire.numerical.time package¶
Submodules¶
wildfire.numerical.time.euler module¶
wildfire.numerical.time.integration module¶
Time approximation using numerical integration methods.
- Solve Initial Value Problem (IVP) or ODE:
- \[\]
- rac{dy}{dt} = F(t, y)
y(t_0) = y_0
wildfire.numerical.time.time module¶
- Implements the following integration methods:
Euler method
Runge-Kutta of fourth order method (RK4)
Also includes solve_ivp from scipy.integrate.
- Details in:
Sauer, T. (2018). Numerical Analysis. Pearson. https://www.pearson.com/us/higher-education/program/Sauer-Numerical-Analysis-3rd-Edition/PGM1735484.html
Scipy. solve_ivp. https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html
-
wildfire.numerical.time.time.
Euler
(t, F, y0, last=True, vdata=False)¶ Euler method implementation.
- Parameters
- tarray_like
Time discrete variable.
- Ffunction
RHS function of ODE.
- y0array_like
Initial condition
- lastbool, optional
Return and keep only last approximation, by default True.
- vdata: bool, optional
Vector field is np.ndarray, by default False. If vdata is True, method uses time iteration as index for vector field data.
- Returns
- array_like
Aproximated solution of ODE.
-
wildfire.numerical.time.time.
IVP
(t, F, y0, last=True, method='RK45')¶ Solve IVP wrapper.
- Parameters
- tarray_like
Time discrete variable.
- Ffunction
RHS function of ODE.
- y0array_like
Initial condition
- lastbool, optional
Return and keep only last approximation, by default True.
- methodstrin, optional
Numerical method to solve IVP, default RK45. Also includes ‘RK23’, ‘DOP853’, ‘Radau’, ‘BDF’, ‘LSODA’. More details in scipy.integrate.solve_ivp documentation.
- Returns
- array_like
Aproximated solution of ODE.
-
wildfire.numerical.time.time.
RK4
(t, F, y0, last=True, vdata=False)¶ Runge-Kutta of fourth order implementation.
- Parameters
- tarray_like
Time discrete variable.
- Ffunction
RHS function of ODE.
- y0array_like
Initial condition
- lastbool, optional
Return and keep only last approximation, by default True.
- vdata: bool, option
Vector field is np.ndarray, by default False. If vdata is True, method uses time iteration as index for vector field data.
- Returns
- array_like
Aproximated solution of ODE.


Daily Downloads Ranking
Most downloads last day.
1-20 of all 146,722 gems.
| Rank | Downloads | Name | Summary |
|---|---|---|---|
| 1 | 676,756 | rubygems-update | This rubygem does not have a description or summary. |
| 2 | 669,610 | rspec-core | BDD for Ruby. RSpec runner and example groups. |
| 3 | 669,331 | rspec-expectations | rspec-expectations provides a simple, readable API to express expected outcomes of a co... |
| 4 | 668,061 | rspec-mocks | RSpec's 'test double' framework, with support for stubbing and mocking |
| 5 | 667,100 | rspec-support | Support utilities for RSpec gems |
| 6 | 663,704 | diff-lcs | Diff::LCS computes the difference between two Enumerable sequences using the McIlroy-Hu... |
| 7 | 645,002 | rspec | BDD for Ruby |
| 8 | 247,400 | i18n | New wave Internationalization support for Ruby. |
| 9 | 234,887 | rack | Rack provides a minimal, modular and adaptable interface for developing web application... |
| 10 | 227,140 | multi_json | A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C... |
| 11 | 226,892 | aws-sdk-core | Provides API clients for AWS. This gem is part of the official AWS SDK for Ruby. |
| 12 | 224,678 | activesupport | A toolkit of support libraries and Ruby core extensions extracted from the Rails framew... |
| 13 | 215,101 | bundler | Bundler manages an application's dependencies through its entire life, across many mach... |
| 14 | 213,201 | rake | Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified i... |
| 15 | 209,693 | concurrent-ruby | Modern concurrency tools including agents, futures, promises, thread pools, actors, sup... |
| 16 | 208,259 | tzinfo | TZInfo provides daylight savings aware transformations between times in different time ... |
| 17 | 207,212 | logstash-filter-translate | This gem is a Logstash plugin required to be installed on top of the Logstash core pipe... |
| 18 | 207,130 | logstash-output-sqs | This gem is a Logstash plugin required to be installed on top of the Logstash core pipe... |
| 19 | 204,880 | thor | Thor is a toolkit for building powerful command-line interfaces. |
| 20 | 203,249 | mime-types | The mime-types library provides a library and registry for information about MIME conte... |


Hi {{ FullName . }},
A request was made to recover your account. You can recover your account by
clicking here.
When you click on the link above, you will be directed to the account
management area. If you have permanently lost the ability to log in
normally, you may need to unlink, and then re-link your authentication
method. Here are the steps to do that:
-
Find your normal authentication method under the
"Authentication Methods" header.
-
Press the delete button next to your normal authentication method.
-
You will be prompted to confirm the deletion by entering the name
of the authentication method. Do this,
then press the "Delete" button.
-
Once again, find your normal authentication method under the
"Authentication Methods" header.
-
Click the "Link" button and, depending on the authentication mechanism,
choose new values for your authentication.
If you did not make this request, you can ignore this email.
Thanks,
The ASHIRT Team


5 killed, 300 injured as earthquake hits northwestern Iran
Quake measured 5.9, more than 50 aftershocks felt
by Helen Regan, Hamdi Alkhshali and Sharif Paget, CNNHASHTRUD, Iran - At least five people have been killed and 330 others injured after a 5.9-magnitude earthquake struck northwestern Iran on Friday, Iranian state-run Press TV reported.
Press TV said emergency and evaluation teams are operating and Red Crescent teams have been dispatched to the area.
The tremor struck at around 2:00 a.m. local time (5:30 p.m ET Thursday) in Iran's East Azerbaijan Province and there have been more than 50 aftershocks, Press TV said. It added that buildings in the area have been destroyed.
The quake had a shallow depth of only 8 kilometers (almost 5 miles) according to the University of Tehran Seismological Center, as cited by Iranian state media.
Initial reports said three small villages in the area were destroyed in the quake, semi-official FARS news reported.
Iran sits on a major fault line between the Arabian and Eurasian plates and has experienced many earthquakes in the past.
Last year, a quake that struck near the Iran-Iraq border in November killed at least 361 people.
More than 400 people were killed and thousands injured when a powerful 7.3-magnitude earthquake struck near the Iran-Iraq border in November 2017.
The deadliest this century occurred in 2003 when a magnitude 6.6 earthquake struck the southeastern city of Bam, killing some 26,000 people.


WeConnect
Register Business
(current)
Search Businesses
My Business
Profile
Logout
100 results found for:
"Chevrolet"
Search
Filter By
Category
Location
Chevrolet
Automobile Manufacturing
1, Forloop Lane, New York, New York, USA
4.0
Find Out More
Chevrolet
Automobile Manufacturing
1, Forloop Lane, New York, New York, USA
4.0
Find Out More
Chevrolet
Automobile Manufacturing
1, Forloop Lane, New York, New York, USA
4.0
Find Out More
Chevrolet
Automobile Manufacturing
1, Forloop Lane, New York, New York, USA
4.0
Find Out More
Previous
1
2
3
4
5
Next


Money Play. How should Red play 32?
pips Red=93 White=128
(CorrectAnswer= 0/0, ErrorScore= 0)
The bots have taught us that the time to break anchors is when your opponent is on the bar. 18/16, 18/15 is very clear here. This keeps maximum builders for the 3-pt, releases the back checkers, duplicates threes and maintains connectivity. 18/13 is much weaker as the blots are much harder to tidy up.
A move like 8/5, 7/5 is a double blunder. Red must make a run for it now.
A move like 8/5, 7/5 is a double blunder. Red must make a run for it now.
1. Cubeful 2-ply 18/16 18/15 Eq.: +1.045 0.820 0.512 0.002 - 0.180 0.043 0.002 2. Cubeful 2-ply 18/16 8/5 Eq.: +1.020 (-0.025) 0.809 0.506 0.003 - 0.191 0.039 0.002 3. Cubeful 2-ply 18/15 7/5 Eq.: +1.002 (-0.043) 0.803 0.506 0.003 - 0.197 0.042 0.002 4. Cubeful 2-ply 8/5 6/4 Eq.: +0.979 (-0.066) 0.804 0.464 0.002 - 0.196 0.029 0.001 5. Cubeful 2-ply 18/16 7/4 Eq.: +0.971 (-0.075) 0.795 0.499 0.003 - 0.205 0.045 0.002


Congratulations you have finished the test. Here are your results
Your perfomance is
. You have a score of
% which is
Continue with your venture in JavaScript. All the best in your coding journey.
You got
questions wrong.
You got
question right.
Welcome to the
Quiz Board
. You think you know JavaScript? Well, let's test your prowess in JavaScript.
The rules are simple;
Do not refer elsewhere.
Do not leave a question blank.
You have 10 minutes to answer 10 questions afterwhich you will be graded.
Most importantly, have fun! ;)
You can now begin
Question One
What rings in your mind when you hear
JavaScript?
Question Two
If any, what is the relationship between JavaScript and Java? Follow your heart. After all what could be more right?
Question Three
Which of the following statements is not correct according to JavaScript? Remember, you already know it.
Question Four
One of the choices is
not
a core set of JavaScript language element
Question Five
David, a Moringa School Student, is unable to load his JavaScript file. Which of the following is the least likely problem
Question Six
Which loop in the list provided is made up of four statements.
Question Seven
In relation to JavaScript arrays, what is a scope?
Remember, time is running out
.
Question Eight
The extension of a system file is .sys. What is the extension of a jQuery file.
Question Nine
In order to code with much ease on could opt for a library. Which of the following is the most common JavaScript library
Question Ten
What is the keyboard shortcut combination of opening the js console on the browser.
Sorry
Time is up!! Sorry but you haven't completed the questions in 10 minutes.


MoyaResponseHandler
public protocol MoyaResponseHandler
Protocol used to handle the Moya network request from the MoyaResponseHandlerPlugin.
-
The Moya network request was successful (HTTP request successful with status code >= 200 and < 300). You may not need to do anything here, but it is here in case you want to run some code after a successful API request.
Declaration
Swift
func successfulResponse(statusCode: Int, data: Data, request: URLRequest, response: URLResponse)
-
Moya network request was successful, but a HTTP status code was returned >= 300.
switch statusCode { case 401: return
You must login to do that action.
case 403: returnYou do not have permission to do that action.
case >= 500: returnSystem is currently down. Try again later.
}The error message you return from this function could be used as user facing. Please, make sure to use good error messages to the user that are helpful to them in fixing the problem.
Declaration
Swift
func statusCodeError(statusCode: Int, data: Data, request: URLRequest, response: URLResponse?) -> String
Return Value
Return back a string that should be used as the Moya request error handler’s Error localizedDescription.
-
Moya network request was not successful. No network connection, bad network connection, permission error, SSL error, etc.
switch error { case notConnectedToInternet(let error): return
You are not connected to the Internet.
case badNetworkRequest(let error): returnThere is a problem with your Internet connection. Try again.
case cancelledRequest(let error): return “case failedNetworkRequest(let error): return
There was a problem with your request. We are working on it to fix it.” }The error message you return from this function could be used as user facing. Please, make sure to use good error messages to the user that are helpful to them in fixing the problem.
Declaration
Swift
func networkingError(error: MoyaNetworkingError, request: URLRequest?, response: URLResponse?) -> String
Return Value
Return back a string that should be used as the Moya request error handler’s Error localizedDescription.
-
Moya error encountered. This is a Moya specific error. It could be because Moya had an error parsing the response body to JSON/Image/String. It could be an invalid status code. This is probably an error that you should fix in your app’s code. It may not be a user issue.
switch error { case imageMapping(Response) /// Indicates a response failed to map to a JSON structure. case jsonMapping(Response) /// Indicates a response failed to map to a String. case stringMapping(Response) /// Indicates a response failed with an invalid HTTP status code. case statusCode(Response) /// Indicates a response failed due to an underlying
Error
. case underlying(Swift.Error) /// Indicates that anEndpoint
failed to map to aURLRequest
. case requestMapping(String) }The error message you return from this function could be used as user facing. Please, make sure to use good error messages to the user that are helpful to them in fixing the problem.
Declaration
Swift
func moyaError(error: MoyaError) -> String
Return Value
Return back a string that should be used as the Moya request error handler’s Error localizedDescription.
-
Error that is not a URLError or Moya error. It is an unknown error that you should handle yourself. Not sure why this would ever happen in your code, but something happened.
The error message you return from this function could be used as user facing. Please, make sure to use good error messages to the user that are helpful to them in fixing the problem.
Declaration
Swift
func unknownError(error: Swift.Error) -> String
Return Value
Return back a string that should be used as the Moya request error handler’s Error localizedDescription.