Code Monkey home page Code Monkey logo

envirocar-server's Introduction

enviroCaR

Import and analysis functions for the R environment for statistical computing and graphics

Installation

Install dependencies

You need the trajectories package, which is available from CRAN; on the R prompt, type

install.packages("trajectories")

or install the development version from github:

library(devtools)
install_gihub("edzer/trajectories")

Install enviroCaR

The enviroCaR package is not on CRAN yet, so please download and install the package manually. For this to work must have both git (http://git-scm.com/downloads) and R (see documentation here for Windows) on your path. Then run the following commands in the command line:

git clone https://github.com/enviroCar/enviroCaR
R CMD INSTALL enviroCaR

Usage

Take a look at the demos to see how to use the package:

library(enviroCaR)
demo(package = "enviroCaR")

Bug reporting

If you find a bug or run into problems, please open a new issue on GitHub: https://github.com/enviroCar/enviroCaR/issues

Before you submit the bug, consider these guidelines.

Development

Contributing

Contributions to this package are always welcome. Take a look at the issues to see what tasks are pending and join the enviroCar mailing list/forum to discuss new ideas.

We follow the fork & pull development modell, so please fork the project and send us your contributions as pull requests.

No work should be done without an issue describing the task.

Documentation

We use roxygen comments in the R files. Take a look at the roxygen2 documentation use it and read these guidelines on documenting functions.

About

See http://envirocar.org to learn more about the project.

License

This R exention package is licensed under GPL version 2 or later.

envirocar-server's People

Contributors

ahitch avatar asaikarthikeya avatar autermann avatar bpross-52n avatar dependabot-preview[bot] avatar dependabot[bot] avatar drifftr avatar ehj-52n avatar janwirwahn avatar jlleitschuh avatar matthesrieke avatar mojioms avatar staschc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

envirocar-server's Issues

Unit for Phenomenons

Hey,

it would be useful to get the phenomenons unit (Km/h, dB, Km, etc.).

Greetings,
Dennis

Remove Create_measurement from Activities

The first testdrive shows that the create_measurement item makes the activity stream basically useless.
It would make sense to either aggregate them:
e.g.: userX created 512 new measurements

Or delete them completely and only show the track creation.

User avatar and profile changes

It would be nice to include user avatars into a user account.
Based on the API Docu, it is currently not possible to change name or password of a user. I guess at least changeable passwords would be nice.

Embedding of sensors/phenomenons

Embed sensor and phenomenons in tracks/measurements instead of referencing them to allow faster response times.

Currently sensors and phenomenons are read only and it should be safe to embed and never touch them again.

Deleting Users

Is it possible that your method to delete users doesn't work anymore?
I don't get a server response while performing a delete request anymore (the same method works for deleting friends, though)

Upload of track data

Implement the following endpoints

POST /rest/users/:username/tracks
GET /rest/users/:username/tracks/:track
POST /rest/users/:username/tracks/:track/measurements
GET /rest/users/:username/tracks/:track/measurements
GET /rest/users/:username/tracks/:track/measurements/:measurement
GET /rest/users/:username/measurements
GET /rest/users/:username/measurements/:measurement

Incorrect removal of friends

Remove friend has a invalid rest endpoint at DELETE /rest/users/:user/friends with a entity reference to the removed friend.

DELETE /rest/users/:user/friends/:friend would be the right choice. Currently DELETE /rest/users/:user/friends/:friend would entirely delete the user friend. Solution would be to create a new FriendResource that extends UserResource and overrides the DELETE operation.

Also there currently isn't any check whether the current user is authorized to do so.

Context:

User Profiles

Which additional fields should we add to users?

  • First Name (String)
  • Last Name (String)
  • Country (String)
  • Location (String or Geometry?)
  • About Me (String)
  • URL (URI)
  • Date of birth (Date)
  • Gender (String (enum))
  • Language (Locale (de_DE, en_EN, de-DE, en-EN, etc.)

@dwilhelm89 any other suggestions?

Please add parameters for /rest/tracks

Please add at least a limit operator to limit the returned tracks (and a page parameter)
for example

GET /rest/tracks?limit=10

gives the first 10 tracks

GET /rest/tracks?limit=10&page=2

gives the next 10 tracks

Thanks :)

Change Phenomenons in Tracks to JSON Object

Please change the Tracks so that the features look like the following.

This would eliminate the need to iterate through the phenomenons array in order to find for example the value for a phenomenon.

Cheers

{
    "features": [
        {
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [
                    12.365,
                    24.068
                ]
            },
            "properties": {
                "id": "51944e3ae4b017df94de8f73",
                "time": "2013-05-16T04:13:27+02:00",
                "sensor": {
                    "name": "testsensor1",
                    "created": "2013-05-16T05:00:17+02:00",
                    "modified": "2013-05-16T05:00:17+02:00"
                },
                "user": {
                    "name": "testuser1",
                    "mail": "[email protected]",
                    "created": "2013-05-16T04:58:30+02:00",
                    "modified": "2013-05-16T04:58:30+02:00"
                },
                "modified": "2013-05-16T05:10:50+02:00",
                "created": "2013-05-16T05:10:50+02:00",
                "phenomenons": {
                    "co2": {
                        "created": "2013-05-16T05:00:22+02:00",
                        "modified": "2013-05-16T05:00:22+02:00",
                        "value": 21.688
                    }
                }
            }
        }
    ]
}

Server is using to much resources

Somewhat in the server is eating up memory.
USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
tomcat6 20 0 6237m 3.4g 6600 S 0 88.6 16:02.11 java

So we are at 3.4 GB RAM use.

Java can't evene allocate new memory: Jenkins builds do fail bc of:
java.io.IOException: Cannot run program "git" (in directory "/var/lib/jenkins/jobs/car.io-server-dev/workspace"): java.io.IOException: error=12, Cannot allocate memory

Achievements

Achievements based on the driving style of the user (type of achievement, date).
A user would be able to see his own achievements as well of those of his friends/groups (website/app).

It's unclear who would assign the achievements. Directly in the app based on the measurements or on the server while receiving the measurements?

provide tracks a geojson

could you please provide tracks as geojson, or an example how a track does look like when we request it from the server

User Group Management

use cases:
I want to join groups of users
I want to create and delete groups
I want to see a list of groups of users

Bulk upload of measurements

Ability to create measurements while creating a track.
Changes:

  • parse measurments in track decoder
  • save the track without the measurements (they will be embedded if their ID does not exist in the database)
  • save the measurements
  • save the track with measurments

Statistics broken

They currently return statistics for every measurement instead of aggregating them…

Minor changes in Tracks request

Could you insert the name and the date of a track within the track overview in:

  • rest/tracks
  • rest/users/:username/tracks

This would make creating route overview way more easy.

Seperate Providers and En-/Decoders

Create seperated decoder/encoder classes to keep singleton providers while allowing encoders to access per-request scoped objects (especially UriInfo).

SSL encryption

I asked for ssl-certificates. I'll tell you when they arrive.

Invert Tracks-List

Could you invert the list of tracks, too?
I guess it would be important to see the newest track first.

Delete references to deleted users

If a users is deleted all references should be deleted. This includes Tracks, Friends, Groups and Measurements… Encoders should be checked if they can handle entities without a user.

E.g. for friends:

    db.users.update(
        { 
            friends:{ 
                $elemMatch: DBRef("users", ObjectId("5194c318e4b0f6e19ad24acc")) 
            } 
        },
        { 
            $pull : { 
                friends: DBRef("users", ObjectId("5194c318e4b0f6e19ad24acc")) 
            } 
        },
        { 
            multiple: true 
        }
    );

Remodel sensors

{
    "type": "car",
    "properties": {
        "id": "OBJECTID",
        "manufacturer": "Volkswagen",
        "model": "Golf IV",
        "fuelType": "Diesel",
        "constructionYear": 2001,
        "VIN": "AJFLHSDISAHDLIOSADUHSAOD"
    }
}

Event stream filtering

I want to subscribe to the event stream of car-borne sensor data, I want to use certain filters and processes to get a certain view on the data

(depends on #15)

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.