Generate random ratings for drones (first-timers-only)
See original GitHub issuefirst-timers-only
This issue is tagged :octocat: first-timers-only. It is only for people who have never contributed to open source before, and are looking for an easy way take their first steps.
Consider this your chance to dip your toe into the world of open-source, and get some bragging rights for writing code that makes drones fly, lets cars find charging stations, helps people and goods get from place to place, and more.
Find more first-timers-only issues here.
Thank you for your help ❤️
What is this project?
DAV (Decentralized Autonomous Vehicles) is a new foundation working to build an open-source infrastructure for autonomous vehicles (cars, drones, trucks, robots, and all the service providers around them) to communicate and transact with each other over blockchain.
As an organization that believes in building a large community of open-source contributors, we often create issues like this one to help people take their first few steps into the world of open source.
Mission Control
The DAV project you are looking at is Mission Control. It is the brain in charge of orchestrating missions between DAV users and autonomous vehicles.
How you can help
Background
To help developers building on top of DAV technologies, Mission Control can start in a simulation environment. In a simulation environment, there are always a few simulated drones flying around the user, ready to take on missions. This makes it easy for developers to start building and testing without investing in hardware.
The Issue
When creating a new simulated drone, it needs to have a rating based on its past performance (e.g. 4.9). Currently, the method that creates this rating always returns the same value.
The function randomRating()
inside /server/simulation/random.js
needs to be updated to return a random rating for the drone. A rating is a float between 1.0 and 5.0.
Implement the logic of randomRating()
like so:
console.log(
randomRating()
); // logs something like 4.9 or 3.6 or 4.0
To test your function, follow the instructions in Contributing to Mission Control, and after you write your code visit http://localhost:8888/status
.
Contributing to Mission Control
- Fork the repository from the Mission Control GitHub page.
- Clone a copy to your local machine with
$ git clone git@github.com:YOUR-GITHUB-USER-NAME/missioncontrol.git
- Make sure you have node.js and npm installed on your machine. You can use this guide for help.
- Install all of the project’s dependencies with npm.
$ cd missioncontrol; npm install
- Run
gulp watch:js
to start a local server and watch your local code for changes. The server will restart automatically every time you change the code. - Code! code! code!
- Before committing your code, run
gulp
one last time and make sure no errors (including linting errors) are thrown. - Once you’ve made sure all your changes work correctly, and committed all your changes, push your local changes back to github with
$ git push -u origin master
- Visit your fork on GitHub.com (https://github.com/YOUR-USER-NAME/missioncontrol) and create a pull request for your changes.
- Make sure your pull request describes exactly what you changed and references this issue (include the issue number in the title like this:
#3
)
Issue Analytics
- State:
- Created 6 years ago
- Comments:7 (7 by maintainers)
Top GitHub Comments
Looks great @JamesDimi! Thank you for the help 👍
And congrats on your first pull request. I hope it is the first of many.
Hey @JamesDimi. Yes, that’s it. Feel free to work on it.