# Getting Started with TechOps Projects

Welcome to IEEE projects! Here, we host a variety of external projects that cater to a variety of audiences, especially those with interest in both software and hardware practical applications. This page will give a quick rundown of our most used tools that you should have before we start.

## Common Developer Tools and Software

### VS Code

{% embed url="<https://code.visualstudio.com/download>" %}

VS Code is probably the most preferred text editor for most development use cases. It has many powerful commands and extensions that can cater to our needs. Some extensions to get:

* Remote SSH
* Gitlens (for easy git blame)
* GitHub Copilot (you get a free subscription with Student Developer Pack!)
* Language specific support (e.g. Python, C/C++, etc)

### Python

{% embed url="<https://www.python.org/downloads/>" %}

Surprisingly, Python does not come pre-installed on Windows/Mac (go Linux lol). Please try to have the latest Python version installed.

## Web Projects

Here are some software you should have if working on web-based projects:

### Node.js and npm

{% embed url="<https://nodejs.org/en/download/current>" %}

Node.js is a JS runtime for modern JavaScript projects. We recommend getting the latest LTS version from the Node.js website. This should come with npm, the node package manager

#### nvm

{% embed url="<https://github.com/nvm-sh/nvm>" %}

Another possible way to install Node.js is through Node Version Manager, a handy tool that manages your Node.js version through CLI.&#x20;

### Docker

{% embed url="<https://www.docker.com/>" %}

Docker is a containerized application deployment platform. What this means is that Docker does the following:

* Virtualizes "containers" which you can think of as mini virtual machines on your computer (or any server)
* Distributes and deploys software packages through Dockerfile configurations
* Standardizes the overall development process for developers by using a common Docker configuration with the same package versions, environment, etc.

### Postman/Insomnia

{% embed url="<https://insomnia.rest/download>" %}

{% embed url="<https://www.postman.com/downloads/>" %}

You will likely soon learn (if not already learned) what HTTP requests are. While it's easy to run these requests in the browser, it's even better to have a client that visualizes these requests and give you a fast GUI-based way to run, test, and develop workflows with these requests. **You only need one of these, not both**.&#x20;

## Hardware Projects

TBD


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.berkie.ee/techops/getting-started-projects/getting-started-with-techops-projects.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
