first-timers-only: Generate random drone model names
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 model name (e.g. DJX CargoFlyer). Currently, the method that creates this name always returns the same string.
The function randomDroneModel()
inside /server/simulation/random.js
needs to be updated to return a random model name. A model name is composed of a manufacturer (a random string chosen from ['DJX', 'Parakeet', 'Gruff', 'Unique', 'FlyHawk']
) followed by a space, and then a model name (a random string chosen from ['CargoMate', 'Postman', 'ShipIt', 'Air Ship']
).
console.log(
randomDroneModel()
); // logs something like 'DJX CargoMate' or 'FlyHawk Postman' or 'Gruff ShipIt'
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:
#1
)
Issue Analytics
- State:
- Created 6 years ago
- Comments:10 (10 by maintainers)
Top GitHub Comments
@cg-cnu Please join our gitter channel for contributors - https://gitter.im/DAVFoundation/DAV-Contributors
Works and looks great 👍
Bonus points for using template literals 😉
Thank you!