🎉 Initial file upload!

This commit is contained in:
rzmk 2023-06-05 17:57:16 -04:00
commit a7bd657561
No known key found for this signature in database
29 changed files with 22290 additions and 0 deletions

20
.gitignore vendored Normal file
View file

@ -0,0 +1,20 @@
# Dependencies
/node_modules
# Production
/build
# Generated files
.docusaurus
.cache-loader
# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*

35
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,35 @@
# 🤝 Contributing
## Writing Content
The site is generated based on the content in the `docs` folder. Each folder in `docs` represents a section of the site. Each `.md` and `.mdx` file in a folder represents a page in that section. You can learn more by reading more about [Docusaurus](https://github.com/facebook/docusaurus), the static site generator used to build this site.
I recommend keeping a consistent format throughout the guide. For example, preceding each section title is a relevant emoji.
## Installation
Install all required dependencies:
```
$ npm i
```
## Local Development
```
$ npm start
```
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
## Build
```
$ npm build
```
This command generates static content into the `build` directory and can be served using any static contents hosting service.
## Deployment
The site is deployed through Vercel. Any changes pushed to the `main` branch will be automatically deployed to the live site. You may first want to test your changes on a branch before merging to `main`, both locally and by viewing the Vercel preview.

21
README.md Normal file
View file

@ -0,0 +1,21 @@
# 🚀 Data Engineering Intern Onboarding Guide
<a href="https://dathere.com" target="_blank">
<video
width="100%"
src="./static/vid/datHere-logo-intro.mp4"
autoPlay
loop
muted
></video>
</a>
</center>
## 📖 About the Guide
This guide is a resource for assisting in onboarding new data engineering interns at [datHere](https://dathere.com).
## 🤝 Contributing to the Guide
If you would like to contribute to the guide, please follow the steps in the [contributing document](./CONTRIBUTING.md).

3
babel.config.js Normal file
View file

@ -0,0 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};

32
docs/intro.mdx Normal file
View file

@ -0,0 +1,32 @@
---
slug: /
sidebar_position: 1
---
# 👋 Welcome to datHere!
<a href="https://dathere.com" target="_blank">
<video
width="100%"
src="/vid/datHere-logo-intro.mp4"
autoPlay
loop
muted
></video>
</a>
## ✨ Overview
Glad to have you here 🎉! This guide serves as a reference guide for new data engineering interns at [datHere](https://dathere.com/).
If you have any more questions that aren't answered here, please reach out to your team members on Slack.
## ⚡ Quick Links!
- [datHere Website 🌐](https://dathere.com/)
- [datHere GitHub 🖥](https://github.com/dathere)
- [datHere LinkedIn 👔](https://www.linkedin.com/company/dathere/)
## 🔍 Found a Mistake? Outdated Guide?
Feel free to contribute to this site by clicking the "Edit this page" button at the bottom of any page to make a PR on our GitHub repo.

View file

@ -0,0 +1,8 @@
{
"label": "🌱 Onboarding Setup",
"position": 1,
"link": {
"type": "generated-index",
"description": "Installation instructions to setting up your workspace with the necessary software and tools."
}
}

View file

@ -0,0 +1,18 @@
---
sidebar_position: 4
---
# 📊 CKAN Setup
In this section we'll go over how to install [CKAN](https://ckan.org) and get it running on your Ubuntu VM.
## 📺 Video Tutorial
import LiteYouTubeEmbed from "react-lite-youtube-embed";
import "react-lite-youtube-embed/dist/LiteYouTubeEmbed.css";
<LiteYouTubeEmbed id="" />
### Video Resources
## 📝 Written Tutorial

View file

@ -0,0 +1,18 @@
---
sidebar_position: 5
---
# 📮 DataPusher+ Setup
In this section we'll go over how to install [DataPusher+ with Docker](https://github.com/dathere/datapusher-plus-docker) and using it with CKAN.
## 📺 Video Tutorial
import LiteYouTubeEmbed from "react-lite-youtube-embed";
import "react-lite-youtube-embed/dist/LiteYouTubeEmbed.css";
<LiteYouTubeEmbed id="" />
### Video Resources
## 📝 Written Tutorial

View file

@ -0,0 +1,18 @@
---
sidebar_position: 3
---
# ⚡ qsv Setup
In this section we'll go over how to install [qsv](https://github.com/jqnatividad/qsv) and get it running on your Ubuntu VM.
## 📺 Video Tutorial
import LiteYouTubeEmbed from "react-lite-youtube-embed";
import "react-lite-youtube-embed/dist/LiteYouTubeEmbed.css";
<LiteYouTubeEmbed id="" />
### Video Resources
## 📝 Written Tutorial

View file

@ -0,0 +1,21 @@
---
sidebar_position: 1
---
# 🗺 Setup Overview
Before you start diving into awesome projects and working with your team, you'll need the right equipment 🛠💼.
Refer to the upcoming sections to help you install everything. For now, let's take a look at the cool tools you'll be setting up 🤘!
## 😎 Cool Tools!
| Software/Tool | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [VirtualBox](https://www.virtualbox.org/) | VirtualBox is a virtualization software that allows you to run a virtual machine on your computer. Simply put, this program lets you have virtual computers inside your computer! |
| [Ubuntu](https://ubuntu.com/) | Ubuntu is a free and open-source operating system. It is a Linux distribution and is often useful for running on virtual machines. |
| [qsv](https://github.com/jqnatividad/qsv) | qsv (pronounced "Quicksilver") is a command line program for indexing, slicing, analyzing, filtering, enriching, validating & joining CSV files. Commands are simple, fast & composable. |
| [CKAN](https://ckan.org) | CKAN is an open-source DMS (data management system) for powering data hubs and data portals. CKAN makes it easy to publish, share, and use data. It powers hundreds of data portals worldwide. |
| [DataPusher+ with Docker](https://github.com/dathere/datapusher-plus-docker) | [DataPusher+](https://github.com/dathere/datapusher-plus) is standalone web service that pushes data into the CKAN DataStore fast & reliably. We'll be setting up a containerized version of DataPusher+ by using [Docker](https://www.docker.com/). |
## 🧩 Putting It All Together

View file

@ -0,0 +1,31 @@
---
sidebar_position: 2
---
# 💻 Ubuntu VM Setup
In this section we'll go over how to install [VirtualBox](https://www.virtualbox.org/) and run [Ubuntu](https://ubuntu.com/) 22.04.2 LTS on a virtual machine.
## 📺 Video Tutorial
import LiteYouTubeEmbed from "react-lite-youtube-embed";
import "react-lite-youtube-embed/dist/LiteYouTubeEmbed.css";
<LiteYouTubeEmbed id="" />
### Video Resources
- [VirtualBox Downloads Page](https://www.virtualbox.org/wiki/Downloads)
- [Ubuntu Desktop Download Page](https://ubuntu.com/download/desktop)
## 📝 Written Tutorial
### 📥 Download VirtualBox
### 🛠 Install VirtualBox
### 📥 Download Ubuntu 22.04.2 LTS
### 🖥 Setup a Virtual Machine (VM)
### ✨ Bonus Tips

View file

@ -0,0 +1,7 @@
---
sidebar_position: 3
---
# 🌪 qsv Whirlwind Tour
## 📺 Video Demo

120
docusaurus.config.js Normal file
View file

@ -0,0 +1,120 @@
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
const lightCodeTheme = require("prism-react-renderer/themes/github");
const darkCodeTheme = require("prism-react-renderer/themes/dracula");
/** @type {import('@docusaurus/types').Config} */
const config = {
title: "Data Engineering Intern Onboarding Guide",
tagline: "",
favicon: "img/favicon.ico",
// Set the production url of your site here
url: "https://de-intern-guide.vercel.app",
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: "/",
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
organizationName: "dathere", // Usually your GitHub org/user name.
projectName: "de-intern-guide", // Usually your repo name.
onBrokenLinks: "throw",
onBrokenMarkdownLinks: "warn",
// Even if you don't use internalization, you can use this field to set useful
// metadata like html lang. For example, if your site is Chinese, you may want
// to replace "en" with "zh-Hans".
i18n: {
defaultLocale: "en",
locales: ["en"],
},
presets: [
[
"classic",
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
routeBasePath: "/",
sidebarPath: require.resolve("./sidebars.js"),
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
editUrl:
"https://github.com/dathere/de-intern-guide/tree/main/packages/create-docusaurus/templates/shared/",
},
blog: false,
theme: {
customCss: require.resolve("./src/css/custom.css"),
},
}),
],
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
// Replace with your project's social card
image: "img/datHere-logo.png",
navbar: {
title: "Data Engineering Intern Onboarding Guide",
logo: {
alt: "datHere Logo",
src: "img/datHere-logo.png",
},
items: [
{
type: "docSidebar",
sidebarId: "guideSidebar",
position: "left",
label: "📖 Guide",
},
{
to: "about",
position: "left",
label: "💡 About",
},
],
},
footer: {
style: "dark",
links: [
{
title: "datHere Socials",
items: [
{
label: "Website",
href: "https://dathere.com",
},
{
label: "GitHub",
href: "https://github.com/dathere",
},
{
label: "LinkedIn",
href: "https://www.linkedin.com/company/dathere/",
},
],
},
{
title: "More",
items: [
{
label: "Blog",
href: "https://dathere.com/blog/",
},
],
},
],
copyright: `Copyright © ${new Date().getFullYear()} datHere, Inc. Built with Docusaurus.`,
},
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
},
}),
};
module.exports = config;

21682
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

45
package.json Normal file
View file

@ -0,0 +1,45 @@
{
"name": "de-intern-tutorial",
"version": "0.0.0",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
"@docusaurus/core": "2.4.1",
"@docusaurus/preset-classic": "2.4.1",
"@mdx-js/react": "^1.6.22",
"clsx": "^1.2.1",
"prism-react-renderer": "^1.3.5",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-icons": "^4.9.0",
"react-lite-youtube-embed": "^2.3.52"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "2.4.1"
},
"browserslist": {
"production": [
">0.5%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"engines": {
"node": ">=16.14"
}
}

33
sidebars.js Normal file
View file

@ -0,0 +1,33 @@
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
// @ts-check
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
// By default, Docusaurus generates a sidebar from the docs folder structure
guideSidebar: [{ type: "autogenerated", dirName: "." }],
// But you can create a sidebar manually
/*
tutorialSidebar: [
'intro',
'hello',
{
type: 'category',
label: 'Tutorial',
items: ['tutorial-basics/create-a-document'],
},
],
*/
};
module.exports = sidebars;

View file

@ -0,0 +1,64 @@
import React from 'react';
import clsx from 'clsx';
import styles from './styles.module.css';
const FeatureList = [
{
title: 'Easy to Use',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
description: (
<>
Docusaurus was designed from the ground up to be easily installed and
used to get your website up and running quickly.
</>
),
},
{
title: 'Focus on What Matters',
Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default,
description: (
<>
Docusaurus lets you focus on your docs, and we&apos;ll do the chores. Go
ahead and move your docs into the <code>docs</code> directory.
</>
),
},
{
title: 'Powered by React',
Svg: require('@site/static/img/undraw_docusaurus_react.svg').default,
description: (
<>
Extend or customize your website layout by reusing React. Docusaurus can
be extended while reusing the same header and footer.
</>
),
},
];
function Feature({Svg, title, description}) {
return (
<div className={clsx('col col--4')}>
<div className="text--center">
<Svg className={styles.featureSvg} role="img" />
</div>
<div className="text--center padding-horiz--md">
<h3>{title}</h3>
<p>{description}</p>
</div>
</div>
);
}
export default function HomepageFeatures() {
return (
<section className={styles.features}>
<div className="container">
<div className="row">
{FeatureList.map((props, idx) => (
<Feature key={idx} {...props} />
))}
</div>
</div>
</section>
);
}

View file

@ -0,0 +1,11 @@
.features {
display: flex;
align-items: center;
padding: 2rem 0;
width: 100%;
}
.featureSvg {
height: 200px;
width: 200px;
}

27
src/css/custom.css Normal file
View file

@ -0,0 +1,27 @@
/**
* Any CSS included here will be global. The classic template
* bundles Infima by default. Infima is a CSS framework designed to
* work well for content-centric websites.
*/
/* You can override the default Infima variables here. */
:root {
--ifm-color-primary: #007aff;
--ifm-color-primary-dark: #006ee6;
--ifm-color-primary-darker: #0068d9;
--ifm-color-primary-darkest: #0055b3;
--ifm-color-primary-light: #1a87ff;
--ifm-color-primary-lighter: #268eff;
--ifm-color-primary-lightest: #4da2ff;
}
/* For readability concerns, you should choose a lighter palette in dark mode. */
[data-theme="dark"] {
--ifm-color-primary: #007aff;
--ifm-color-primary-dark: #006ee6;
--ifm-color-primary-darker: #0068d9;
--ifm-color-primary-darkest: #0055b3;
--ifm-color-primary-light: #1a87ff;
--ifm-color-primary-lighter: #268eff;
--ifm-color-primary-lightest: #4da2ff;
}

41
src/pages/_index.js Normal file
View file

@ -0,0 +1,41 @@
import React from 'react';
import clsx from 'clsx';
import Link from '@docusaurus/Link';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import Layout from '@theme/Layout';
import HomepageFeatures from '@site/src/components/HomepageFeatures';
import styles from './index.module.css';
function HomepageHeader() {
const {siteConfig} = useDocusaurusContext();
return (
<header className={clsx('hero hero--primary', styles.heroBanner)}>
<div className="container">
<h1 className="hero__title">{siteConfig.title}</h1>
<p className="hero__subtitle">{siteConfig.tagline}</p>
<div className={styles.buttons}>
<Link
className="button button--secondary button--lg"
to="/docs/intro">
Docusaurus Tutorial - 5min
</Link>
</div>
</div>
</header>
);
}
export default function Home() {
const {siteConfig} = useDocusaurusContext();
return (
<Layout
title={`Hello from ${siteConfig.title}`}
description="Description will go into a meta tag in <head />">
<HomepageHeader />
<main>
<HomepageFeatures />
</main>
</Layout>
);
}

5
src/pages/about.md Normal file
View file

@ -0,0 +1,5 @@
---
slug: about
---
# 🍃 About the Guide

View file

@ -0,0 +1,23 @@
/**
* CSS files with the .module.css suffix will be treated as CSS modules
* and scoped locally.
*/
.heroBanner {
padding: 4rem 0;
text-align: center;
position: relative;
overflow: hidden;
}
@media screen and (max-width: 996px) {
.heroBanner {
padding: 2rem;
}
}
.buttons {
display: flex;
align-items: center;
justify-content: center;
}

View file

@ -0,0 +1,7 @@
---
title: Markdown page example
---
# Markdown page example
You don't need React to write simple standalone pages.

0
static/.nojekyll Normal file
View file

BIN
static/img/datHere-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
static/img/docusaurus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

BIN
static/img/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.