dribdat / dribdat

Some socialising may be required 🙌🏾
https://dribdat.cc
MIT License
63 stars 27 forks source link

Project component list #254

Open loleg opened 3 years ago

loleg commented 3 years ago

Inspired by sites like Hackaday which show the (usually, hardware) components that go into realising a project, it would be nice to have structured information about dependencies on data, code, hardware, etc., in a dribdat project. This could in theory be scoped in the text content, but a simple "todo list" like form interface would suffice to enrich the content of the platform.

To make it more likely that the data could be parsed and usable for things like validating licenses, we should investigate connecting to an external open dataset of components (e.g. FOSSA). When the user enters the name of a library, a matching sequence would be run with confirmation.

See this comment and this branch.

0xHieu commented 3 years ago

Personally, I have some solutions for checking the open-source projects that participants have used in their projects.

Firstly, I think that we can ask participants when they submit their projects on the platform. There are some questions to ask participants about their project and these questions not only help them to state which open source projects that they have used but also help them to focus on the main features of their projects. The answers to these questions could be a part of judging criteria.

Here are some questions that can be considered in this section:

  1. Tell us about the features and technologies you used in your project.
  2. Did you use open source software? (If yes, please specify) (Participants can write and add the link of open source projects that they used)

Secondly, we can provide a policy or rules of the hackathon to make sure participants have to write all of the open-source projects that they used. On the other hand, we can merge this solution with the first solution by providing a form for them and make this section a part of the judging criteria.

Finally, the last solution may be applied automatically by applying the approach of static analysis. Actually, static analysis can help us analyze the source code of projects. Thus, we can use this method to analyze source code and track this source code on open-source platforms.

loleg commented 1 year ago

@tamberg proposed a simple standard text format in the pitch, rather than a UI widget. The first thing I would suggest is a Markdown table, which works out of the box - but maybe users would find a template handy. Something along these lines?

Hardware components Type Quantity
ESP32 Development Kit Hardware ×1  
LoRaWAN Unit 868MHz Hardware ×1  
MicroPython for ESP32 Software v1.19.1
The Things Network Cloud v3

Here is the same thing, but in list form:

Links can be added to both table and list entries. Or we could do it in YAML:

Hardware:
  - ESP32 Development Kit
      count: 1
      doc: https://docs.m5stack.com/en/core/atom_lite
      shop: https://www.bastelgarage.ch/m5stack-atom-lite-esp32-development-kit
  - LoRaWAN Unit 868MHz
      count: 1
      doc: https://docs.m5stack.com/en/atom/atom_dtu_lorawan868
      shop: https://www.bastelgarage.ch/lorawan868-unit-asr6501-mit-868mhz-antenne
Software:
  - MicroPython for ESP32
      version: v1.19.1
      url: https://micropython.org/download/esp32/
Cloud:
  - The Things Network
      version: v3
      url: https://thethingsnetwork.com

⬇️

Hardware:

Software:

Cloud:

Ideally the format would show up okay on GitHub and other coding platforms. Any more thoughts?