diff --git a/app/components/PostList.tsx b/app/components/PostList.tsx index 71d2367a..3fc50abc 100644 --- a/app/components/PostList.tsx +++ b/app/components/PostList.tsx @@ -69,15 +69,30 @@ export type FileListItem = { export function formatFileListItemsForPostList( items?: FileListItem[], + depth?: number, + curLevel?: number, ): PostListItem[] | null { - return items - ? items.map( - (item): PostListItem => ({ - title: item.meta.title, - description: item.meta.description, - to: `/${item.slug}`, - children: formatFileListItemsForPostList(item.children), - }), - ) - : null; + const internalCurLevel: number = + typeof curLevel === 'undefined' ? (curLevel = 0) : curLevel; + + if (typeof depth === 'undefined') { + depth = Infinity; + } + + if (!items || internalCurLevel >= depth) { + return null; + } + + return items.map( + (item): PostListItem => ({ + title: item.meta.title, + description: item.meta.description, + to: `/${item.slug}`, + children: formatFileListItemsForPostList( + item.children, + depth, + internalCurLevel + 1, + ), + }), + ); } diff --git a/app/components/content/FileIndex.tsx b/app/components/content/FileIndex.tsx index ac7a6e87..b70fbb3a 100644 --- a/app/components/content/FileIndex.tsx +++ b/app/components/content/FileIndex.tsx @@ -6,6 +6,7 @@ import type { FileListItem } from '~/components/PostList'; type FileIndexProps = { subDirectory?: string; + depth?: number; }; function findBase(files: FileListItem[], subDirectory: string): FileListItem[] { @@ -65,9 +66,9 @@ function findBase(files: FileListItem[], subDirectory: string): FileListItem[] { return filtered; } -export default function FileIndex({ subDirectory }: FileIndexProps) { +export default function FileIndex({ subDirectory, depth }: FileIndexProps) { const allFiles: FileListItem[] = useOutletContext(); const result = subDirectory ? findBase(allFiles, subDirectory) : allFiles; - return ; + return ; } diff --git a/app/routes/__frontend/__simpleMdx/about.mdx b/app/routes/__frontend/__simpleMdx/about.mdx index 761521de..f002948c 100644 --- a/app/routes/__frontend/__simpleMdx/about.mdx +++ b/app/routes/__frontend/__simpleMdx/about.mdx @@ -1,26 +1,26 @@ --- meta: title: About Virtual Coffee - description: 'All about Virtual Coffee: Our Mission, Core Values, History, and more.' + description: All about Virtual Coffee. Our Mission, Core Values, History, and more. hero: Hero: UndrawDreamer --- import { Link } from '@remix-run/react'; -## Who we are +## Who We Are -Virtual Coffee is, and always will be, a genuine community of people who value and prioritize supporting one another. We know that growth comes at all levels and that no matter what stage of the developer journey you're on, you can teach and learn. +Virtual Coffee is, and always will be, a genuine community of people who value and prioritize supporting one another. We know that growth comes at all levels and that you can teach and learn no matter what stage of the developer journey you're on. -Our twice-weekly live coffees with devs at all stages of the journey has grown into an online community that mentors, creates educational content, and provides a safe community at no cost. Since our first coffee in April 2020, we've added a lively slack, a site, Lunch & Learn talks, an Interview Series, a Hacktoberfest Initiative, and Lightning Talks. +Since our first Coffee in April 2020, our free online tech community has grown to support developers at all stages of the journey. In addition to twice-weekly live Coffees, we've added a site and lively Slack. Our community mentors and creates educational content in various formats, including Lunch and Learn talks, a Hacktoberfest Initiative, opportunities to practice public speaking, monthly challenges, Coffee Table Groups, and more. We also won the [DevRel Awards 2022 as the "Most welcoming developer community"](https://youtu.be/uIby7vyYHVg). -Virtual Coffee is focused on being a positive and supporting place. We’re here to cheer you on when you land a job, get a promotion, or write your first blog post. +Virtual Coffee is focused on being a positive and supportive place. We’re here to cheer you on when you land a job, get a promotion, or write your first blog post. --- ## Our Mission -Virtual Coffee's mission is to be a welcoming tech community that allows room for growth and mentorship at all levels, and to create meaningful opportunities for learning, leadership, and contribution for everyone. +Virtual Coffee's mission is to be a welcoming tech community that allows room for growth and mentorship at all levels and to create meaningful opportunities for learning, leadership, and contribution for everyone. ## Our Vision @@ -33,17 +33,17 @@ We welcome and support developers at all stages to create a more empathetic tech - We create and support positive and inclusive community. - We work to remove tech barriers. - We believe everyone has the ability to teach and learn, and that collaboration of developers at all stages enriches our community. -- We meet people where they are, make space for everyone, and encourage the exchange and explorations of new ideas to create close relationships. +- We meet people where they are, make space for everyone, and encourage the exchange and exploration of new ideas to create close relationships. - We believe in a growth-mindset and encourage and create meaningful opportunities for learning and mentorship, creating a closer community through participation, leadership, and contributions. -- We value synchronous communication and events as a medium that encourages all of the above and enriches the asynchronous experiences. +- We value synchronous communication and events as a medium that encourages all of the above and enriches asynchronous experiences. --- ## Becoming a Member -Virtual Coffee is a community that welcomes people at all stages of their tech journey. Our mission is to be a welcoming tech community that allows room for growth and mentorship at all levels, and to create meaningful opportunities for learning, leadership, and contribution for everyone. +Virtual Coffee is a community that welcomes people at all stages of their tech journey. Our mission is to be a welcoming tech community that allows room for growth and mentorship at all levels and to create meaningful opportunities for learning, leadership, and contribution for everyone. -To preserve what makes Virtual Coffee special and support our existing members, we intentionally keep our group small. We'd love to have everyone as a part of Virtual Coffee, but we prioritize the intimacy and closeness of the group. Our community is currently accepting members on a limited basis. As new membership becomes available, we'll reach out to those on the waitlist to join. +We intentionally keep our group small to preserve what makes Virtual Coffee special and support our existing members. We'd love to have everyone as a part of Virtual Coffee, but we prioritize the intimacy and closeness of the group. Our community is currently accepting members on a limited basis. As new membership becomes available, we'll reach out to those on the waitlist to join. Join the Waitlist! diff --git a/app/routes/__frontend/join/index.jsx b/app/routes/__frontend/join/index.jsx index b001d9e0..792940ff 100644 --- a/app/routes/__frontend/join/index.jsx +++ b/app/routes/__frontend/join/index.jsx @@ -1,6 +1,7 @@ import { json } from '@remix-run/node'; import DefaultLayout from '~/components/layouts/DefaultLayout'; import { createMetaData } from '~/util/createMetaData.server'; +import { Link } from '@remix-run/react'; export async function loader() { return json({ @@ -29,17 +30,24 @@ export default function Join() {

Virtual Coffee is a community that welcomes people at all stages of their tech journey. Our mission is to be a welcoming tech community - that allows room for growth and mentorship at all levels, and to + that allows room for growth and mentorship at all levels and to create meaningful opportunities for learning, leadership, and contribution for everyone.

- To preserve what makes Virtual Coffee special and support our - existing members, we intentionally keep our group small. We'd love - to have everyone as a part of Virtual Coffee, but we prioritize the - intimacy and closeness of the group. Our community is currently - accepting members on a limited basis. As new membership becomes - available, we'll reach out to those on the waitlist to join. + We intentionally keep our group small to preserve what makes Virtual + Coffee special and support our existing members. We'd love to have + everyone as a part of Virtual Coffee, but we prioritize the intimacy + and closeness of the group. Our community is currently accepting + members on a limited basis. As new membership becomes available, + we'll reach out to those on the waitlist to join. +

+

+ In the meantime, feel free to check out the{' '} + + FAQ about joining Virtual Coffee + + .

- - - -Developer burnout is an experience that’s too prevalent in the tech industry, often resulting from workplace stress, a lack of psychological safety in the workplace, negative experiences, or feedback, and results in exhaustion, an inability to complete work tasks effectively, a lack of desire to work or ambivalence towards work or teammates. - -Removing yourself from the situation might be the best way to recover from burnout, however, that’s not always an option. Here are some tips to navigate burnout. - - - - - -## Table of Contents - - - ---- - -## Removing Negative Influences - -We often find that shame influences our interactions and what we agree to. Identifying where you feel shame and how it impacts your burnout is a good first step. Let go of the shame of needing a break, saying no, passing a project to another colleague, etc. - -Sometimes you need to step away from the things you can no longer sustain. You may have taken on too much, or your priorities might have changed. That’s ok. Learning to pause and step away from things is important. Trying to do too much will accelerate burnout. - -## Increasing Positive Influences - -Counteracting the negative influences in your life by investing in the people and things that bring you energy or happiness can help to navigate burnout. Find the activities that really bring you joy and comfort, and incorporate those into your week. Put them on your schedule as you would work meetings or interviews to signify their importance and necessity. - -Sometimes physically staying in the same place increases feelings of burnout. If it’s possible, try moving your workspace. As part of this, incorporating some regular body movement can decrease feelings of being trapped. It might help to set some goals to walk X every week, start a 100-day push-up challenge, or set up a physical goal that holds you accountable but also accomplished. - -Create adequate time to wind down every day. This will also contribute to much better sleep, which is important to burnout recovery. - -Consider making space in the week to focus on doing activities that bring you joy. This might be playing games, watching movies, hanging out with friends and family, heading to the gym, or doing any activity that gives you energy. Along with that, it’s ok and good to rest. Finding space not to do things is equally important in replenishing your energy. - -Let yourself be bored! Daydream, dream about new projects, think abstractly about concepts you’ve learned, identify new connections between parts of yourself, reflect on what learning approaches worked well, and maybe even pursue some opportunities you hadn’t considered. - -## Create Boundaries - -Boundaries help to keep us healthy, but often we find that we’ve let things cross our boundaries or the boundaries have blurred. Maybe you worked late one week to hit a big goal for your job. Suddenly, you find that you’re being asked to do that--or worse, you’re being expected to do it without your consent--for everyday tasks. It’s not in your contract, and you value work-life harmony. - -Regularly assessing your upcoming week and retrospect to identify the biggest stressors can help prevent this from continuing to happen. You may identify ways to improve your stressors could be reducing hours, taking more breaks, setting a day without meetings, or finding space to work in an environment conducive to doing your best work. Consider doing a self-reflection as well. - -To assess your week, set a stop time for every day. Although it may be necessary to push past that in some instances, it’s important to make that the exception and not the rule. - -## Affirmations - -- You matter. -- Your worth isn’t tied to your productivity or your side projects or your job title. -- You are more than your rejections. -- You are important. - - - Thanks to all of our members who have contributed to this conversation, - especially Julia Seidman and Sara McCombs. - - -## Resources - -- Arthur Doler, - [You're Not Just Tired: The Psychology of Burnout](https://www.youtube.com/watch?v=-XYK8ulQId0) - -- Kati Morton, - [The History of Burnout](https://www.youtube.com/watch?v=usWGg6xKHW0&list=PL_loxoCVsWqxj0ocM5GjaDsEdfLfWCdHW) - - diff --git a/app/routes/__frontend/resources/developer-health/index.mdx b/app/routes/__frontend/resources/developer-health/index.mdx deleted file mode 100644 index 3dcabd14..00000000 --- a/app/routes/__frontend/resources/developer-health/index.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -meta: - title: Developer Health - description: A collection of guides by our members to help with mental health, burnout, self-care, and more... -hero: - Hero: UndrawVersionControl -tags: - - memberresources - - memberresourcesIndex -order: 2 ---- - -import TextContainer from '~/components/content/TextContainer'; -import FileIndex from '~/components/content/FileIndex'; - - - -## Developer Health - - - - diff --git a/app/routes/__frontend/resources/developer-resources/developer-health/burnout.mdx b/app/routes/__frontend/resources/developer-resources/developer-health/burnout.mdx new file mode 100644 index 00000000..92922ef1 --- /dev/null +++ b/app/routes/__frontend/resources/developer-resources/developer-health/burnout.mdx @@ -0,0 +1,103 @@ +--- +meta: + title: Burnout + description: A collection of guides to help with developer burnout. +hero: + Hero: UndrawMeditating +tags: + - memberresources + - memberresourcesIndex +order: 1 +--- + +import TextContainer from '~/components/content/TextContainer'; +import LeadText from '~/components/content/LeadText'; + + + + + +Developer burnout is an experience that's too prevalent in the tech industry. It often results from stress, a lack of psychological safety, negative experiences, or feedback in the workplace. The results include exhaustion, an inability to complete work tasks effectively, a lack of desire to work, ambivalence towards work or teammates, and more. + +Removing yourself from the situation might be the best way to recover from burnout. However, that’s not always an option. You can find some tips to navigate burnout in this article. + + + + + +## Table of Contents + + + +--- + +## Removing Negative Influences + +We often find that shame influences our interactions and what we agree to. Identifying where you feel shame and how it impacts your burnout is a good first step. Let go of the guilt of needing a break, saying no, passing a project to another colleague, etc. + +Sometimes you must step away from the things you can no longer sustain. You may have taken on too much, or you changed your priorities. That’s ok. Learning to pause and step away from things is important. Trying to do too much will accelerate burnout. + + + + + +## Increasing Positive Influences + +Counteracting the negative influences in your life by investing in the people and things that bring you energy or happiness can help to navigate burnout. Find the activities that bring you joy and comfort, and incorporate those into your week. Put them on your schedule as you would work meetings or interviews to signify their importance and necessity. This might be playing games, watching movies, hanging out with friends and family, heading to the gym, or doing any activity that gives you energy. Along with that, it’s ok and good to rest. Finding space not to do things is equally essential in replenishing your energy. + +Sometimes, physically staying in the same place increases feelings of burnout and being trapped. Try moving your workspace and incorporating regular body movement. It might help to set some achievable physical goals like walking X every week or starting a 100-day push-up challenge. + +Create adequate time to wind down every day. This will also contribute to much better sleep, which is essential for burnout recovery. + +Let yourself be bored! Daydream, dream about new projects, think abstractly about concepts you’ve learned, identify new connections between parts of yourself, reflect on what learning approaches worked well, and even pursue some opportunities you hadn’t considered. + + + + + +## Create Boundaries + +Boundaries help to keep us healthy, but often we find that we’ve let things cross our boundaries or the boundaries have blurred. You may have worked late one week to hit a big goal for your job. Suddenly, you find that you’re being asked to do that—or worse, you’re being expected to do it without your consent—for everyday tasks. It’s not in your contract, and you value work-life harmony. + +Regularly assessing your upcoming week and retrospect to identify the biggest stressors can help prevent this from continuing. You may identify ways to improve your stressors by reducing hours, taking more breaks, setting a day without meetings, or finding space to work in an environment conducive to doing your best work. Consider doing a self-reflection as well. + +To assess your week, set a stop time for every day. Although it may be necessary to push past that in some instances, it’s important to make that the exception and not the rule. + + + + + +## Affirmations + +Identify affirmations that feel authentic to you, such as: + +- I matter. +- My worth isn't tied to my productivity, side projects, or job title. +- I am more than my rejections. +- I am important. + +Then, make it a habit, like repeating these affirmations for 3-5 minutes once or twice a day. If affirmations feel inauthentic to you, try writing down one thing you're grateful for every day. These habits help you remember that you have something you cherish and your life is multi-dimensional. + + + + + +## Resources + +- [You're Not Just Tired: The Psychology of Burnout](https://www.youtube.com/watch?v=-XYK8ulQId0) by Arthur Doler + +- [The History of Burnout](https://www.youtube.com/watch?v=usWGg6xKHW0&list=PL_loxoCVsWqxj0ocM5GjaDsEdfLfWCdHW) by Kati Morton + + + + + +## Appreciation + + + +Thanks to all our members who contributed to this conversation, especially **Julia Seidman** and **Kieran(they/them)**! + + + + diff --git a/app/routes/__frontend/resources/developer-resources/developer-health/index.mdx b/app/routes/__frontend/resources/developer-resources/developer-health/index.mdx new file mode 100644 index 00000000..d59fc9d4 --- /dev/null +++ b/app/routes/__frontend/resources/developer-resources/developer-health/index.mdx @@ -0,0 +1,33 @@ +--- +meta: + title: Developer Health + description: A collection of guides by our members to help with developers' mental health, burnout, self-care, and more. +hero: + Hero: UndrawWorkout +tags: + - memberresources + - memberresourcesIndex +order: 3 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import FileIndex from '~/components/content/FileIndex'; + + + + + +We sometimes forget to nourish our bodies, minds, and spirits because of our workload. It often results in burnout, stress, or other health problems. In this guide, you can find resources to help you become healthier developers. Health always comes first, and healthy developers are happy developers! + + + + + + + +## Guides Available: + + + + diff --git a/app/routes/__frontend/resources/developer-resources/developer-health/neurodiverse.mdx b/app/routes/__frontend/resources/developer-resources/developer-health/neurodiverse.mdx new file mode 100644 index 00000000..fc40b997 --- /dev/null +++ b/app/routes/__frontend/resources/developer-resources/developer-health/neurodiverse.mdx @@ -0,0 +1,26 @@ +--- +meta: + title: Neurodiverse + description: A collection of resources to help neurodiverse people in tech overcome the challenges. +hero: + Hero: UndrawSentimentAnalysis +tags: + - memberresources + - memberresourcesIndex +order: 2 +--- + +import TextContainer from '~/components/content/TextContainer'; +import LeadText from '~/components/content/LeadText'; + + + + + +This article is a work in progress. If you know any good resources worth sharing about neurodiverse/neurodiversity (articles, videos, etc.), feel free to drop them in our [discussion board](https://github.com/orgs/Virtual-Coffee/discussions/919) on GitHub! + + + + + +{/* Refer to burnout.mdx for content format in mdx */} diff --git a/app/routes/__frontend/resources/developer-resources/developer-tips/asking-coding-questions.mdx b/app/routes/__frontend/resources/developer-resources/developer-tips/asking-coding-questions.mdx new file mode 100644 index 00000000..9ff09b22 --- /dev/null +++ b/app/routes/__frontend/resources/developer-resources/developer-tips/asking-coding-questions.mdx @@ -0,0 +1,171 @@ +--- +meta: + title: Asking Questions About Your Code + description: A guide for developers to ask questions about code. +hero: + Hero: UndrawQuestions +order: 1 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +Everybody runs into problems during development that can be frustrating and seem impossible to debug. The most important thing is: _if you need help, ask for help_. + +We provide this guide for developers, particularly Virtual Coffee members, to ask for help effectively. One thing is for sure, even if you still need to figure out how to ask for help: ask anyway! We've all been there. + + + + + +## Table of Contents + + + +--- + +## How to Ask Coding Questions + +### Before Asking Questions + +- Go through your code line by line.
+ You want to know what your code is doing so you can answer questions. Take some notes if necessary. +- Do some research before asking questions.
+ You want to avoid asking questions you can figure out by googling your problem. You can also improve your skill in finding solutions by googling yourself. +- Check for some typos.
+ Sometimes an error arises from a single typo. +- Google the error that you encounter by copy-pasting the error message.
+ Most of the time, you can find some answers from people who have faced the same problem as yours. +- Debug your code.
+ You can check out Nick Taylor's Lunch and Learn sessions below about debugging: + - [Debugging JavaScript and Front-end](https://www.youtube.com/watch?v=I9A0Pifn0Uw) + - [The Web Dev Debugging Hour](https://www.youtube.com/watch?v=DWisOco_7Ew&list=PLh9uT23TA65idCyc_orC85RefgY_-fKsG&index=2) + +### When Asking Questions + +#### Getting Started + +- A simple "Can someone help me with {'{'}something{'}'}?" is enough to start a conversation. +- Be specific about what you're looking for.
+ "Does anyone know why my MongoDB authentication failed?" is better than "My app is crashing." +- For a more general question or when trying to grasp a concept:
+ "Does anyone have experience with {'{'}something{'}'}?" or "Can someone explain {'{'}something{'}'}? to me like I'm five?" is a good starting point. + +#### Asking Questions + +- Specified details as much as possible, such as: + - What language, framework, or library version are you using when encountering the error? + - What operating system (e.g., Windows, Mac, Linux) and version are you experiencing the problem? +- Provide relevant code along with your question, if possible. +- Explain the command or steps that you run to reproduce the problem. +- Describe what you have tried to fix the problem.
+ It's okay if you need to figure out where to start but share whatever you have already tried/ruled out. +- Read through your question.
+ You want to ensure that your question makes sense and you've included all information needed for other members to help you. + +
+ + + +## Where to Drop Coding Questions? + +### Slack + +Look for the channels that are suitable for your questions. If you need more clarification, ask the moderators on which channel you can ask the questions. In Virtual Coffee, we have these channels for members to ask coding questions: + +#### #help-and-pairing + +Ask questions about your code or ask other members' help for pairing in this channel. + +You can also ask for opinions about your project, resources, help to fill out surveys, or any other support related to tech. + +#### #dev-... (backend, code-challenges, devops-and-cloud, frontend, fullstack, ml-data-ai, vue-crew, wordpress) + +These channels are here for you to ask questions if you need help with your codes or anything related to the topic of the channels. + +#### #accessibility + +This channel is all about questions, comments, tips, and answers around accessibility. + +#### #random + +If you are still figuring out where to ask questions, you can ask them here. Some members will crosspost your question to the appropriate channel(s) for better exposure. + + + +Check our complete channel list on the Virtual Coffee Slack Channels Guide page. + + + +### GitHub + +#### Discussion Board + +Some communities utilize discussion boards on GitHub to ask questions or throw ideas, and so does Virtual Coffee! Do check out our [discussion board on GitHub](https://github.com/Virtual-Coffee/virtualcoffee.io/discussions)! + + + + + +## How to Utilize Slack for Asking Coding Questions + +### Including Code Snippets in a Message + +#### Inline Code + +Use a single backtick (`) to share technical jargon or a one-line code in a sentence. For example: + +```text +If you use `npm`, run `npm list -g` to see all packages you've installed globally. +``` + +#### Code Block + +Use triple backtick (```) to share a code block and keep a clean format. For example: + +````text +``` +function greetings() { + console.log("Hello there!"); +} +``` +```` + +### Using Tags + +Unless you are a moderator or granted permission by a moderator, you want to avoid using `@here` or `@channel`. Using these tags will notify everyone in the channel. It might be an afternoon at your time, but it is midnight in some parts of the world.
+At Virtual Coffee, we highly respect our members. And we are a very active community. So, someone will answer you as soon as possible, even without the tags. + +### One Topic, One Thread + +When you need to add more information to your message or want to answer a question, reply in the thread and _not_ create a new message.
+Keeping one topic in one thread can prevent confusion, making the conversation easy to follow and questions easy to answer. + +
+ + + +## Resources + +- [How to be great at asking coding questions](https://medium.com/@gordon_zhu/how-to-be-great-at-asking-questions-e37be04d0603) by Gordon Zhu +- [Stack Overflow Question Checklist](https://codeblog.jonskeet.uk/2012/11/24/stack-overflow-question-checklist/) +- [How do I ask a good question?](https://stackoverflow.com/help/how-to-ask) + + + + + +## Appreciation + + + +Thank you to our members for making this guide possible, especially to **David Alpert**, **Jonathan Yeong**, **Dan Ott**, **Abbey Perini**, **Mark Noonan**, **Travis Martin**, and **Claire Martinez** for throwing ideas, and **Ayu Adiati** for putting them together! + + + + diff --git a/app/routes/__frontend/resources/developer-resources/developer-tips/index.mdx b/app/routes/__frontend/resources/developer-resources/developer-tips/index.mdx new file mode 100644 index 00000000..b7c5bd1b --- /dev/null +++ b/app/routes/__frontend/resources/developer-resources/developer-tips/index.mdx @@ -0,0 +1,33 @@ +--- +meta: + title: Developer Tips + description: A collection of tips and guides for all developers created by our members. +hero: + Hero: UndrawShareOpinion +tags: + - memberresources + - memberresourcesIndex +order: 1 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import FileIndex from '~/components/content/FileIndex'; + + + + + +A collection of tips and guides for all developers created by our members. + + + + + + + +## Tips Available: + + + + diff --git a/app/routes/__frontend/resources/developer-resources/index.mdx b/app/routes/__frontend/resources/developer-resources/index.mdx new file mode 100644 index 00000000..4e30ea08 --- /dev/null +++ b/app/routes/__frontend/resources/developer-resources/index.mdx @@ -0,0 +1,33 @@ +--- +meta: + title: Developer Resources + description: A collection of resources for all developers. +hero: + Hero: UndrawOnlineArticles +tags: + - memberresources + - memberresourcesIndex +order: 2 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import FileIndex from '~/components/content/FileIndex'; + + + + + +We love to learn and grow together! Everything that you read in this guide comes from our members. We throw ideas and work together to provide these guides and resources for you, awesome developers! + + + + + + + +## Resources Available: + + + + diff --git a/app/routes/__frontend/resources/open-source/about-open-source.mdx b/app/routes/__frontend/resources/developer-resources/open-source/about-open-source.mdx similarity index 52% rename from app/routes/__frontend/resources/open-source/about-open-source.mdx rename to app/routes/__frontend/resources/developer-resources/open-source/about-open-source.mdx index 3c04f091..27dc8ab3 100644 --- a/app/routes/__frontend/resources/open-source/about-open-source.mdx +++ b/app/routes/__frontend/resources/developer-resources/open-source/about-open-source.mdx @@ -1,7 +1,7 @@ --- meta: title: About Open Source - description: 'A general guide to all things Open Source.' + description: A general guide to all things open source. tags: [memberresources] hero: Hero: UndrawOnlinePage @@ -10,13 +10,14 @@ order: 1 import LeadText from '~/components/content/LeadText'; import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; - + You might have heard about open source. But what is open source? Why do you want to get involved and contribute to open source? -In this section, we will talk about all open source! +In this article, we will talk about all things open source! @@ -30,62 +31,85 @@ In this section, we will talk about all open source! ## What is Open Source Software (OSS)? -Open Source Software (OSS) is software where the source code is generally made freely available and accessible to the public. It is distributed under a copyright license that permits reuse, modification, and redistribution and encourages open collaboration and peer production. +Open Source Software (OSS) is software where the source code is freely available and accessible to the public. It is distributed under a copyright license that permits reuse, modification, and redistribution and encourages open collaboration and peer production. There are various licenses in open source. Some grant almost complete freedom, including incorporating code into commercial, closed-source projects. While in contrast, others may be more restrictive. -There is a culture in open source of building off of each other's work. You can take an open source project and extend it or add it to another project as long as you comply with the terms of the license. Package managers—such as NPM—can also incorporate other open source code into your project. +There is a culture in open source of building off of each other's work. You can take an open source project and extend it or add it to another project as long as you comply with the terms of the license. Package managers like NPM can also incorporate other open source code into your project. The ecosystem of open source software is vast, ranging from GUI programs through libraries and modules designed to provide specific functionality to other programs, frameworks, and programming languages, to platform infrastructure behind decentralized social networks, blockchain protocols, and simple personal projects. Although best known in software, open source concepts can extend to any field with intellectual property, such as hardware development, design systems, and designs for 3D printable goods. ---- + -## Building your portfolio with open source + + +## Building a Portfolio with Open Source Doing open source work is a great way to improve your skills, build your portfolio, and get noticed by others in the industry. And this is one of the reasons why you want to get involved in and contribute to open source. -Many employers value open source work in tech. So you should make space for your contributions list on your resume, especially if you are looking for your first developer job. It will help you stand out from other candidates. +Many employers value open source work because it requires skills you'll use while working a tech job. Make space for your contributions list on your resume, especially if you are looking for your first developer job. It will help you stand out from other candidates. -It is also worth remembering that contributing to open source does not require writing code. Improving documentation or working on marketing, community building, design, or illustration contributions are equally valuable to projects. +It is also worth remembering that contributing to open source is not always about writing code. Improving documentation or working on marketing, community building, design, or illustration contributions are equally valuable to projects. -Working out how to get started can be the most challenging part. So we've put together a list of resources to help you get going. +Working out how to get started can be the most challenging part. So we've compiled a list of resources to help you get going. -**Virtual Coffee's open-source resources:** +**Virtual Coffee's open source resources:** -- [Contributor Guide](./contributor-guide) if you want to contribute to an open source project. -- [Maintainer Guide](./maintainer-guide) if you're going to maintain your open source project. +
+ {/* prettier-ignore */} +
Contributor Guide
+
A guide to contributing to an open source project.
+ {/* prettier-ignore */} +
Maintainer Guide
+ {/* prettier-ignore */} +
A guide for maintaining your open source project for the first time.
+
**Other recommended resources:** -- [What Open Source Project Should I Contribute To? — Kent C Dodds](https://kentcdodds.com/blog/what-open-source-project-should-i-contribute-to) -- [I Made My First Open Source Contribution Within 200 Days — Joe Previte](https://www.freecodecamp.org/news/i-made-my-first-open-source-contribution-within-200-days-and-how-you-can-too-4d5bdbd63fad) -- [Becoming an Open Source Project Maintainer — Kent C Dodds](https://kentcdodds.com/blog/becoming-an-open-source-project-maintainer) +- [What Open Source Project Should I Contribute To?](https://kentcdodds.com/blog/what-open-source-project-should-i-contribute-to) by Kent C Dodds +- [I Made My First Open Source Contribution Within 200 Days](https://www.freecodecamp.org/news/i-made-my-first-open-source-contribution-within-200-days-and-how-you-can-too-4d5bdbd63fad) by Joe Previte +- [Becoming an Open Source Project Maintainer](https://kentcdodds.com/blog/becoming-an-open-source-project-maintainer) by Kent C Dodds -Check out [our discussions board](https://github.com/Virtual-Coffee/virtualcoffee.io/discussions/529) if you know of resources we should add to this section! We'd love to hear from you! +If you have recommended resources to be added to this section, drop them in [our discussion board](https://github.com/Virtual-Coffee/virtualcoffee.io/discussions/529)! We'd love to hear from you! ---- +
+ + -## 💡 Good to know: Funding and Governance models in open source +## Good to Know: Funding and Governance Models in Open Source -### Funding models +### Funding Models There are some different models for funding the running and development of open source projects: -- Some projects start as personal projects of their creator. The costs come from the creator's pocket, and the creator and other volunteer contributors are doing the work. Sometimes these projects may use something like Github Sponsors or other sites, allowing people to donate small amounts to cover costs or compensate the creator for their time. -- Larger projects with a team of maintainers or a non-profit may use the same funding model. Still, they will often supplement this with more ways to donate. Maintainers and contributors to these projects will also usually be volunteers. Money raised is typically used to cover costs such as website hosting or services the organization uses. +- Some projects start as personal projects of their creator. The costs come from the creator's pocket, and the creator and other volunteer contributors do the work. Sometimes these projects use GitHub Sponsors or other sites, allowing people to donate small amounts to cover costs or compensate the creator for their time. +- Larger projects with a team of maintainers or a non-profit may use the same funding model. Still, they will often supplement this with more ways to donate. Maintainers and contributors to these projects will also usually be volunteers. Money raised typically covers costs such as website hosting or services the organization uses. - Some projects are fully funded by a company or organization (the project's maintainer) alongside their core business. These projects typically use a combination of paid team members and volunteer contributors to get work done. Some projects are entirely developed by a paid in-house team and don't usually receive external contributions. But these projects are released to the public under an open source license. - Some projects form the core part of a commercial enterprise. The company typically makes money from providing support, paid licenses with additional capabilities, or paid services that incorporate the open source project. These projects usually have most of the work done by a paid in-house team but may also accept external volunteer contributions. -### Governance models +### Governance Models -There are a number of different models for governance of open source projects: +There are several different models for the governance of open source projects: - The most common model is the "Benevolent Dictatorship", where a single project creator makes or leads the decision-making process. They may consult and take input from the community, but ultimately all authority rests with the benevolent dictator. -- Some projects are governed by various non-profit organizational structures, which will commonly have at least an agreed-upon set of rules for decision-making. Incorporated organizations may run larger projects with a formal constitution, official positions, and a member or committee structure to administer the organization and make decisions. +- Some projects are governed by various non-profit organizational structures, which will commonly have at least an agreed-upon set of rules for decision-making. The organizations may run larger projects with a formal constitution, official positions, and a member or committee structure to administer the organization and make decisions. - Some projects are backed by a single company. The internal procedures of the company will typically govern these projects. However, a few may have a legally separate organization allowing for community involvement or ownership of the project. - Projects such as programming languages or platform standards will often be governed by a foundation with corporate or individual members interested in the project. And they will appoint a core team or committee that administers the organization and makes decisions. -- Distributed Autonomous Organizations (DAOs) are emerging as a popular choice in the blockchain and cryptocurrency space. While the details differ from project to project, these will typically feature a governance token on a blockchain that can be transferred or bought and sold. The holders are allowed to vote on proposals. +- Distributed Autonomous Organizations (DAOs) are becoming popular in blockchain and cryptocurrency. While the details differ from project to project, these will typically feature a governance token on a blockchain that can be transferred or bought and sold. The holders are allowed to vote on proposals. + + + + + +## Appreciation + + + +Thanks to **Horacio Herrera** for the recommended resources! + + diff --git a/app/routes/__frontend/resources/developer-resources/open-source/contributor-guide.mdx b/app/routes/__frontend/resources/developer-resources/open-source/contributor-guide.mdx new file mode 100644 index 00000000..936a0c51 --- /dev/null +++ b/app/routes/__frontend/resources/developer-resources/open-source/contributor-guide.mdx @@ -0,0 +1,178 @@ +--- +meta: + title: Contributor Guide + description: A guide to contributing to open source. +tags: [memberresources] +hero: + Hero: UndrawDeveloperActivity +order: 3 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +This article outlines helpful information to contribute to an open source project. + + + + + +## Table of Contents + + + +--- + +## Repository Checklist + +If you are a contributor, this checklist is a handy tool for evaluating how well set up a project is to receive contributions. + +**✅ A README.md file**
+The README should link to or describe the following: + +- Project purpose and context +- Installation instructions + +**✅ CONTRIBUTIONS/CONTRIBUTING.md file**
+This is a guide for contributors to contribute to the project. If none is available, you might find the contributing guide in the README.md file. CONTRIBUTIONS/CONTRIBUTING.md file consists of the following: + +- The recommended process for making issues/submitting pull requests. + {/* prettier-ignore */} +- Ways to communicate with the maintainers. + +**✅ A valid open source license**
+It is not advised to work on a project that doesn't have a license or is not using a standard open source license. Check out The License section of our Maintainer Guide for resources about licenses. + +**✅ A Code of Conduct (COC)**
+Check the Code of Conduct (COC) to ensure you participate in a way that's consistent with the organization's guidelines. + +
+ + + +## Guide to Writing Issues + +There is no such best way to write issues. But there are things we want to avoid that either will discredit what we want or need or won't help the person trying to solve the issue. + +Some important things to remember: + +- **Provide information**
+ An issue needs information which can include pictures, metrics, and more. It makes the information more precise than just using words. +- **Describe the issue**
+ Follow the organization's templates and/or ask yourself: What, Where, When, How, and Why. The issue must be clearly described so that anyone can understand it without being in your head. +- **Don't solve the issue**
+ You are not expected to solve the issue. If you want to solve the issue, tell the maintainer in the comment that you want to do it and let them assign it to you. + +A suggested solution can be a good thing, especially to help the contributors who have less experience. When writing issues on a repository that isn't your own, you might need more context to provide the best solution. Therefore, the maintainers always have the final say in the solution or approach to the issue. + +### Tips Before Writing an Issue + +- Check the repository's README.md and CONTRIBUTIONS/CONTRIBUTING.md (if they have one) to learn how maintainers expect communication and how to create an issue. For example, some repositories require you to start a discussion before making an issue. +- Check current and closed issues to ensure no one has already written the issue you will bring up. +- If the organization has discussions enabled on their GitHub, check if the issue has also been mentioned. +- Check the Code of Conduct (COC) to ensure you participate in a way that's consistent with the organization's guidelines. The absence of a COC is unfortunate, but it doesn't mean people should be rude or disrespectful, even if the issue is _super frustrating_. + +### How to Create an Issue + +We'll walk you through how to create an issue and reference the Virtual Coffee repository as an example. + +1. Go to the [Virtual Coffee repository](https://github.com/Virtual-Coffee/virtualcoffee.io/). +2. Navigate to the [Issue Tab](https://github.com/Virtual-Coffee/virtualcoffee.io/issues/). +3. Click the "New Issue" button and check if a [designated template for your issue is available](https://github.com/Virtual-Coffee/virtualcoffee.io/issues/new/choose). +4. Click on the issue category button that fits your needs, then follow all the steps and requirements. + +### How to Write an Issue + +Remember, there isn't one best way to write an issue. When there are no specific templates provided, here is a list of what's good to share in different types of issues: + +#### 🐞 Bug Issue + +Include this information in the issue: + +- **Title**
+ Clear enough to identify what the problem is about. +- **Screenshots**
+ If it's a performance issue, the screenshots of the UI, logs, or anything that proves the problem exists. +- **Your setup**
+ The device and OS version, browser type and version you use, and any other setup that can help reproduce the problem. +- **Description**
+ Add the steps to reproduce the bug/behavior. Some things to consider: + {/* prettier-ignore */} + - What do you think the correct behavior _should_ be? + {/* prettier-ignore */} + - The current behavior and how it differs. + {/* prettier-ignore */} + - The conditions required to produce the bug. For example, the buttons or the link you click, etc. +- **Solution**
+ If you think of a solution to solve the problem, you can suggest something. However, the maintainer would be the final decision-maker. +- **Links**
+ Issue or discussion that relates to this problem, if any. + +#### 🌱 Feature Issue + +- **Title**
+ Clear enough to identify what feature you want to add or see. +- **Description**
+ Describe why you wish to request the feature. +- **Proposed Solution**
+ What should the solution be and why? If you don't have a suggestion, that's fine too! +- **Links**
+ Issue or discussion related to this request, if any. + +#### 📄 Documentation Issue + +- **Title**
+ Clear enough to identify what the problem is about. +- **Description**
+ Describe why you request the documentation change. For example, "I noticed an unclear explanation of how to install the software in the installation section." +- **Proposed Solution**
+ What should the solution be and why? If you don't have a suggestion, that's fine too! + +
+ + + +## Best Practices for Contributors + +### Observing Repository Conventions + +Most repositories will have certain conventions that you need to follow. These will differ from project to project. You can usually find them in the README.md or CONTRIBUTIONS/CONTRIBUTING.md file. The areas covered will vary, but there are common things to look out for: + +- Code style guides +- General conventions for communicating +- Branch naming conventions +- Git workflows + +### The Work Process + +Most projects expect some form of discussion before making a pull request. Expectations vary from project to project. But you can usually find them in the README.md or CONTRIBUTIONS/CONTRIBUTING.md file. + +Many projects use labels such as `bug`, `documentation`, `help wanted`, `ready for dev`, and many more to help determine what issues you can work on. + +Unless the documentation says otherwise, you should comment on an issue you want to work on. Ask the maintainer to assign you to it, and only start working on it when they give it to you. It helps to avoid duplication of work and ensures that expectations are aligned. Unless the repository explicitly states that it accepts unsolicited pull requests, you should not take the initiative to make a pull request to a project. + +### Communication with Maintainers + +Communication is key to working on open source. Most projects have communication conventions, and contributors should always follow these rules. Many projects primarily communicate via comments on issues or pull requests. Some projects have external groups such as Slack, a forum, IRC, or email lists where communication occurs and work is coordinated. If the project uses these, there should be information on the README.md or CONTRIBUTIONS/CONTRIBUTING.md file. Without specific details on where to communicate, you can assume that communication can occur via comments on issues or pull requests. + +Regardless of the tools used to communicate, there are certain things to keep in mind to keep communication effective and respectful, especially in an international online space. + +- **Always follow the Code of Conduct (COC)**
+ Yes, always, even if you disagree with its contents or think it restricts your freedom of speech. The community agreed on these rules to govern the space. As an entrant to the community, you must follow these rules. +- **Messages should be kept short and straightforward**
+ It is often best to keep to 'one message, one topic'. However, there may be times when this is not possible. For example, if you will be unavailable for some time and need to respond to several points. If you need to discuss several topics in one message, put each in a separate paragraph. +- **Keep the conversation respectful**
+ Disagreement and debate are healthy, but it is important to keep the conversation respectful. You could criticize people's ideas but don't criticize the person directly. +- **Low-context communication in international, cross-cultural spaces**
+ Meanings should be explicit in the words you use. People from different cultures might not understand specific cultural references, cliches, and sayings. + +### Self-Care + +We recommend you approach open source work with the same professionalism as you would work for an employer. But remember, you are doing this in your spare time, and self-care is essential. It means that you should take care of things such as code style, documentation, and testing, just as you would in your work for an employer, but it is okay if you cannot work at a fast pace. Both you and the maintainer should set reasonable expectations from the beginning. You should expect to have a reasonably relaxed time to work on things. You should not be expected to complete the work by a strict deadline, even for non-trivial issues. + +
diff --git a/app/routes/__frontend/resources/open-source/git-101.mdx b/app/routes/__frontend/resources/developer-resources/open-source/git-101.mdx similarity index 56% rename from app/routes/__frontend/resources/open-source/git-101.mdx rename to app/routes/__frontend/resources/developer-resources/open-source/git-101.mdx index df89c8c2..6e88d277 100644 --- a/app/routes/__frontend/resources/open-source/git-101.mdx +++ b/app/routes/__frontend/resources/developer-resources/open-source/git-101.mdx @@ -1,7 +1,7 @@ --- meta: title: Git & GitHub 101 - description: 'A guide to using Git and GitHub.' + description: A guide to using Git and GitHub. tags: [memberresources] hero: Hero: UndrawSoftwareEngineer @@ -10,8 +10,9 @@ order: 2 import LeadText from '~/components/content/LeadText'; import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; - + @@ -29,27 +30,29 @@ This article provides an overview of Git and GitHub and the workflows you might ## Definitions -### What is Git? +### What Is Git? We like this Git definition from [Amazon Web Services](https://aws.amazon.com/devops/source-control/git/): > Git is a distributed, open-source version control system (VCS) that enables you to store code, track revision history, merge code changes, and revert to earlier code version when needed. -### What is GitHub? +### What Is GitHub? Like GitLab and Bitbucket, GitHub is a platform for hosting, sharing, and collaborating on Git repositories.
You can interact with GitHub through the web GUI on [their website](https://github.com), and there is also a [GitHub CLI](https://cli.github.com) if you prefer working with the command line. ---- +
+ + -## Basic workflows to contribute to open source using Git and GitHub +## Basic Workflows to Contribute to the Open Source Using Git and GitHub -### Forking a repository +### Forking a Repository -Suppose you want to contribute to an open source project. In that case, the first step is to fork the repository to your own GitHub account. +Suppose you want to contribute to an open source project. In that case, the first step is to fork the repository to your GitHub account. Most open sources do not allow you to make and push changes directly in their repository. That's why you want to fork the repository. -Forking means you create a copy of the repository in your GitHub account to make changes without having to push commits directly to the project's original repository. +Forking means you create a copy of the repository in your GitHub account to make changes without pushing commits directly to the project's original repository. The steps to do so are: @@ -60,48 +63,35 @@ By convention, this forked repository is called the `origin` repository. ### Authenticating with GitHub -Suppose you work for the first time with GitHub locally. In that case, you want to know about authenticating your local Git with GitHub before starting cloning a repository. +Suppose you work for the first time with GitHub locally. In that case, you want to know about authenticating your local Git with GitHub before cloning a repository. You must provide your email and credential whenever you clone a repository, commit and push changes, or do other Git activities related to GitHub locally. -That is a way for GitHub to authenticate you as the user. -But you can set up your credentials locally, so you don't have to input them every time you do a Git activity. +That is a way for GitHub to authenticate you as a user. +But you can set up your credentials locally, so you don't have to input them whenever you do a Git activity. There are three ways to clone a repository: -
-
- [HTTPS](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-authentication-to-github#https) -
-
- HTTPS is the most common one to use. You must create a [Personal Access - Token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) - to enter when GitHub prompts your password. -
-
- [SSH (Secure - Shell)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-authentication-to-github#ssh) -
-
- SSH provides an encrypted way to exchange information safely. You can [read - here](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) - to generate a new SSH key on GitHub. -
-
[GitHub CLI](https://cli.github.com)
-
- If you use GitHub CLI, you can copy and run the command in your terminal. -
-
- -### Cloning a repository +- **[HTTPS](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-authentication-to-github#https)**
+ HTTPS is the most common one to use. You must create a [Personal Access Token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) to enter when GitHub prompts your password. + +- **[SSH (Secure Shell)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-authentication-to-github#ssh)**
+ SSH provides an encrypted way to exchange information safely. You can [read here](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) to generate a new SSH key on GitHub. + +- **[GitHub CLI](https://cli.github.com)**
+ You can copy and run the command in your terminal using GitHub CLI. + +### Cloning a Repository When you want to start working on a change, you want to clone the project's repository after you fork it. That way, you can work on it in the local environment. -To do this: +The steps to clone a repository: -1. Go to your forked repository page on GitHub and click the green "Code" button. -2. Then, you can choose how you want to clone it. Through HTTPS, SSH, or GitHub CLI. For this example, we will use HTTPS. -3. Copy the URL. -4. In your terminal, run: +1. Go to your forked repository on GitHub. +2. Click the green "Code" button. +3. Choose how you want to clone it—through HTTPS, SSH, or GitHub CLI.
+ For this example, we will use HTTPS. +4. Copy the URL. +5. In your terminal, run: ```bash git clone repo-url @@ -110,7 +100,7 @@ To do this: Change the `repo-url` to the copied URL of the forked repository.
Running this command will set up a copy of the repository on your local computer for you to work with. -### Adding an `upstream` remote repository +### Adding an `upstream` Remote Repository Even though you've cloned the forked repository, you may also want to add the original repository as one of your remote repositories. This original repository is conventionally called `upstream`. By doing this, you can pull other people's changes into your local repository whenever you need. @@ -123,7 +113,7 @@ git remote add upstream repo-url Change the `repo-url` with the URL of the original repository. -### Check the added remote repositories +### Check the Added Remote Repositories Now you have the `origin` and `upstream` as your remote repositories. You can check if they've been appropriately added by running this command: @@ -133,10 +123,10 @@ git remote -v Running this command will give you a list of your remote repositories. -### Create a new branch +### Create a New Branch -Now you're ready to work on the changes. Always ensure that you work on changes in a new branch and not directly in the `main` or `master` branch. -And this new branch is what you will later push to the remote repository. +Now you're ready to work on the changes. _Always work on changes in a new branch, not directly in the `main` or `master` branch_. +This new branch is what you will later push to the remote repository. To create a new branch, run this command in your terminal: @@ -146,11 +136,11 @@ git checkout -b new-branch-name Change `new-branch-name` to whatever you want. -### Add and commit changes +### Add and Commit Changes -Say that you've finished making changes, and now you're ready to push your changes to GitHub. You first need to add and commit your changes. +Say that you've finished making changes and are ready to push your changes to GitHub. You first need to add and commit your changes. -#### Add changes +#### Add Changes Run `git add .` to add all new and modified files to the Git staging area. @@ -161,7 +151,7 @@ Change `path` to the path of the file that you want to add. For example: git add styles/header.css ``` -#### Commit changes +#### Commit Changes Now you can 'save' your changes by committing with this command: @@ -169,32 +159,32 @@ Now you can 'save' your changes by committing with this command: git commit -m "Your message" ``` -Change `Your message` into a short description of what changes you've made. For example: +Change `Your message` into a short description of your changes. For example: ```bash -git commit -m "Add a header to the homepage" +git commit -m "Add navbar to the homepage" ``` -#### `git status` +#### Run `git status` You can check if your changes have been added or committed by running the `git status` command in your terminal. -This command will let you know the status of your working git. +This command will let you know the state of your Git working directory and staging area. -### Fetching `upstream` changes +### Fetching `upstream` Changes Sometimes, someone works in the same file as you. And maybe, that person already pushed their changes and got their pull request merged into the `main` branch on the `upstream` repository while you are working on yours locally. So you always want to ensure that your fork is up to date with the `upstream` repository. 1. Go to your forked repository on GitHub. 2. Click the "Sync fork" button under the green "Code" button. -3. If the buttons are inactive, the repository has no changes. In that case, you can [push your changes](/resources/open-source/git-101#push-changes) and [make a pull request](/resources/open-source/git-101#making-a-pull-request).
+3. If the buttons are inactive, the repository has no changes. You can push your changes and make a pull request in that case.
But when the button is green with "Update branch" stated, you want to click it. Now your fork has the same update as the `upstream` repository. -### Synchronizing changes locally +### Synchronizing Changes Locally -Now that your `origin` repository is in sync with the `upstream`, you want to synchronize these changes on your local as well. That way, you already have the most updated content when you push your changes. +Now that your `origin` repository is in sync with the `upstream`, you want to synchronize these changes locally. That way, you already have the most updated content when you push your changes. You want to fetch and merge the latest update into your working branch. In your terminal, make sure that you're in your working branch. Then run: @@ -206,11 +196,11 @@ git pull origin main Change `main` to `master` if the repository uses `master` as the name of its default branch.
The command fetches the updated `main` branch from the `origin` repo and merges that branch into your local working branch. -In this step, you might first need to resolve some conflicts, if any. +In this step, you should resolve some merge conflicts, if any. -### Resolve conflicts +### Resolve Merge Conflicts -It's common to encounter git conflicts when contributing to open source. +It's common to encounter merge conflicts when contributing to open source. Conflicts usually occur when changes are on the same line(s), in the same file(s), from 2 different branches. Say you forget or haven't fetched the `upstream` and synchronized it with the `origin` and local repositories before pushing your changes. @@ -229,24 +219,26 @@ There are two ways to resolve conflicts: 2. In the local environment - - Do all the steps in [Fetching `upstream` changes](/resources/open-source/git-101#fetching-upstream-changes) and [Synchronizing changes locally](/resources/open-source/git-101#synchronizing-changes-locally).
+ - Do all the steps in Fetching `upstream` Changes and Synchronizing Changes Locally sections.
Then you will see this in your text editor: ![git conflict.jpg](https://cdn.hashnode.com/res/hashnode/image/upload/v1662321487768/YXuwvPrzz.jpg) +
+ - Select one of the options: - - Accept Current Change — when you _only_ want to keep your change. - - Accept Incoming Change — when you _only_ want to keep the incoming change. - - Accept Both Changes — when you want to keep both your and the incoming changes. + - Accept Current Change—when you _only_ want to keep your change. + - Accept Incoming Change—when you _only_ want to keep the incoming change. + - Accept Both Changes—when you want to keep both your and the incoming changes. -After resolving the conflicts, if necessary, you can fix and adjust the codes. Then [add and commit the changes](/resources/open-source/git-101#add-and-commit-changes). +After resolving the conflicts, if necessary, you can fix and adjust the codes. Then add and commit the changes. -_Credit: [How To Use GitHub For Project Collaboration — Based on Agile Method — Ayu Adiati](https://adiati.com/how-to-use-github-for-project-collaboration-based-on-agile-method)_ +_Credit: [How To Use GitHub For Project Collaboration — Based on Agile Method](https://adiati.com/how-to-use-github-for-project-collaboration-based-on-agile-method) by Ayu Adiati_ -### Push changes +### Push Changes -You have already fetched and synchronized updates and added and committed the changes. Now you can push your changes to the remote repository. +You have fetched and synchronized updates and also added and committed the changes. Now you can push your changes to the remote repository. Remember that you will push these changes to the `origin` repository. To do so, run this command in your terminal: @@ -257,25 +249,27 @@ git push origin branch-name Change the `branch-name` to your working branch name. -### Making a pull request +### Making a Pull Request Once you have pushed your changes to the `origin` repository, you can submit the changes to the `upstream` repository by making a pull request. -Creating a pull request allows the maintainers to review your work, comment, and request any necessary changes. They will then decide to merge your changes into the project codebase or otherwise. +Creating a pull request allows the maintainers to review your work, comment, and request any necessary changes. They will then decide whether to merge or not merge your changes into the project codebase. The steps to make a pull request: 1. Go to the `upstream` repository at GitHub and click the green "New pull request" button. If you have recently pushed changes to GitHub, you should see a banner at the top of the page with a "Compare and pull request" button that you can click on. -2. You will then get taken to the "Open pull request" form, where you can create a description of your pull request. Here you should check out the project's Contributing guidelines and follow any conventions described. Many projects provide a pull request template within the form to help you get it right. -3. Once you are ready, click the "Create pull request" button. +2. You will then get taken to the "Open pull request" form, where you can create a description of your pull request. Many projects provide a pull request template within the form to help you get it right. But if they don't, you should check the project's Contributing guidelines (usually written in the CONTRIBUTIONS/CONTRIBUTING markdown file) and follow any conventions described. +3. Once ready, click the "Create pull request" button. Congratulations! You have made your pull request 🎉! If a maintainer requests changes, you can make the requested changes and push new commits to the same branch. They will automatically be added to the pull request. ---- +
-## Advanced Git and GitHub workflows + + +## Advanced Git and GitHub Workflows @@ -283,13 +277,13 @@ The following workflows are helpful when collaborating with another person in op -### Asynchronous collaborating on a shared branch between two different forks +### Asynchronous Collaboration on a Shared Branch Between Two Different Forks Let's assume you and your teammate, Alice, forked a project repository. You will collaborate on the same issue in the same file asynchronously. Each of you will do the same steps. In this example, we will walk you through your point of view. -#### Add a remote repository +#### Add a Remote Repository Add Alice's fork as a remote on your local repository by running this command in your terminal: @@ -297,10 +291,11 @@ Add Alice's fork as a remote on your local repository by running this command in git remote add alice repo-url ``` -Change `repo-url` to the URL of Alice's fork.
+Change `repo-url` to the URL of Alice's fork. + We use `alice` as the name of the remote repository as an example because we add Alice's fork as one of our remote repositories. But you can name this anything you want. -#### Fetch branches +#### Fetch Branches Fetch Alice's branches by running this command: @@ -308,7 +303,7 @@ Fetch Alice's branches by running this command: git fetch alice ``` -#### Go to the target branch +#### Go to the Target Branch ```bash git checkout branch-name @@ -316,7 +311,7 @@ git checkout branch-name Change `branch-name` to the target branch name at Alice's fork. -#### Pull the changes +#### Pull the Changes Pull the changes pushed by Alice with this command: @@ -324,55 +319,60 @@ Pull the changes pushed by Alice with this command: git pull alice branch-name ``` -Now you have the updated branch version, with the changes from your teammate. +Now you have the updated branch version with the changes from your teammate. -Either you or Alice can submit the pull request once you both have all the work done. +You or Alice can submit the pull request once you have done all the work. Each commit will automatically contain either your or Alice's name. So, both of your contributions are identified. -### Synchronous collaboration +### Synchronous Collaboration -Say sometimes you work synchronously with Alice on the same issue. All steps are the same as the asynchronous collaboration above. But in sync collaboration, you might want to [include them in your commit message](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors), so you can commit together. +Say sometimes you work synchronously with Alice and Charlie on the same issue. All steps are the same as the asynchronous collaboration above. But in sync collaboration, you want to [include them in your commit message as co-authors](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors). ```bash git commit -m "Add new feature > > -Co-authored-by: Alice " +Co-authored-by: Alice +Co-authored-by: Charlie " ``` **Notes**: - Because you are the one who commits the changes, you don't need to include your name in the commit message. -- Always give two empty spaces before writing the line "Co-authored-by". +- Always give two empty spaces by hitting enter before writing "Co-authored-by". - Do not close the commit message with double quotes (") before you add the "Co-authored-by:". - Close the commit message with double quotes (") at the last line of "Co-authored-by:". - Use the email address associated with your teammate's GitHub account. ---- +
-## ⭐ Getting the most out of your GitHub profile + -Do you know that you can customize your GitHub profile? You can add a short bio, website, social media links and customize your pinned repositories to showcase the work you most want the world to see. It would be like a mini portfolio of your own! +## Getting the Most Out of Your GitHub Profile + +Do you know that you can customize your GitHub profile? You can add a short bio, website, and social media links and customize your pinned repositories to showcase the work you most want the world to see. It would be like a mini portfolio of your own! ![An example profile page](https://ams03pap002files.storage.live.com/y4mRCWqe-HFTvjsstwwqyHWhS3sithntcM0bpqad2-S6_2dMCx982CrqDnV9bxVSWrdbFRDNpcqdnte5FqHahDqB4tcxDb8xFVg4l2nMT_4X7pFQ4fm80S1gFaaqh9hy5cNH8hZ8xHE1Tj9XtzhpKE6eMiFnGFR6OqeRXfxNECArhp2ZQoOAngWRPXpqJm7KVid?width=821&height=907&cropmode=none) -### How does it work? +### How Does It Work? -To customize your profile, you need to create a repository in your account with the same name as your GitHub username and pop in a README. The contents of that README file will get rendered on your profile page. You can add all kinds of cool integrations to this README to do awesome things on your profile. +To customize your profile, create a repository in your account with the same name as your GitHub username and pop in a README. The contents of that README file will get rendered on your profile page. You can add all kinds of cool integrations to this README to do awesome things on your profile. These articles can give you some inspiration: -- [Creating a Killer GitHub Profile README — Braydon Coyer](https://daily.dev/blog/creating-a-killer-github-profile-readme-part-1) -- [How to create beautiful Github profile README.md — Indrajeet Nikam](https://fullyunderstood.com/how-to-create-beautiful-github-profile-readmemd/) +- [Mini Portfolio: Bring Your GitHub Profile To The Next Level](https://adiati.com/mini-portfolio-bring-your-github-profile-to-the-next-level) by Ayu Adiati +- [Creating a Killer GitHub Profile README](https://daily.dev/blog/creating-a-killer-github-profile-readme-part-1) by Braydon Coyer +- [How to create beautiful Github profile README.md](https://fullyunderstood.com/how-to-create-beautiful-github-profile-readmemd/) by Indrajeet Nikam ---- + + + -## 💡 Resources to learn Git and GitHub +## Resources to Learn Git and GitHub -- [GitHub Learning Lab](https://lab.github.com/) - [GitHub Docs](https://docs.github.com/en/get-started/quickstart/git-and-github-learning-resources) -- [TwilioQuest — FOREST OF OPEN SOURCE](https://www.twilio.com/quest/learn/open-source) +- [GitHub Skills](https://skills.github.com/) -Check out [our discussions board](https://github.com/Virtual-Coffee/virtualcoffee.io/discussions/529) if you know of resources we should add to this section! We'd love to hear from you! +If you have recommended resources to be added to this section, drop them in [our discussion board](https://github.com/Virtual-Coffee/virtualcoffee.io/discussions/529)! We'd love to hear from you! diff --git a/app/routes/__frontend/resources/developer-resources/open-source/index.mdx b/app/routes/__frontend/resources/developer-resources/open-source/index.mdx new file mode 100644 index 00000000..d97ccfaf --- /dev/null +++ b/app/routes/__frontend/resources/developer-resources/open-source/index.mdx @@ -0,0 +1,45 @@ +--- +meta: + title: Open Source + description: A collection of guides by our members interested in Open Source Software. +hero: + Hero: UndrawVersionControl +tags: + - memberresources + - memberresourcesIndex +order: 2 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import FileIndex from '~/components/content/FileIndex'; + + + + + +Many of our members are interested in open source but still need to familiarize themselves with everything related. And it's not only our members. Many developers from all levels want to get involved in open source but need to know how. We provide these guides to familiarize you with open source! + + + + + + + +## Guides Available: + + + + + + + +## Appreciation + + + +Special thanks to **Dominic Duffin** and **Ayu Adiati** for creating and putting these guides and resources together! + + + + diff --git a/app/routes/__frontend/resources/developer-resources/open-source/maintainer-guide.mdx b/app/routes/__frontend/resources/developer-resources/open-source/maintainer-guide.mdx new file mode 100644 index 00000000..8f399575 --- /dev/null +++ b/app/routes/__frontend/resources/developer-resources/open-source/maintainer-guide.mdx @@ -0,0 +1,220 @@ +--- +meta: + title: Maintainer Guide + description: A guide to maintaining open source projects. +tags: [memberresources] +hero: + Hero: UndrawOperatingSystem +order: 4 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +This article outlines helpful information for your journey as an open source project maintainer. + + + + + +## Table of Contents + + + +--- + +## Repository Checklist + +Suppose you are a maintainer looking to open an open source project for contributions. In that case, this checklist will help you to get your repository into an excellent state to start receiving external contributions. + +
+
✅ Relevant name
+
+
✅ Description
+
Clearly describe what the project does and is for.
+
✅ Relevant tags
+
They should highlight their scope, stack, field, etc.
+
✅ README.md file
+
Important information about your project.
+
✅ CONTRIBUTIONS.md/CONTRIBUTING.md file
+
A contribution guide for contributors.
+
✅ Open source license
+ {/* prettier-ignore */} +
A project is _not_ open source if it doesn't have a valid license.
+
✅ Code of Conduct (COC)
+
An excellent indicator of a healthy contributor's environment.
+
✅ Issue and Pull Request templates
+
Templates for making issues and pull requests.
+
+ +A project in the wild doesn't need _all_ those things, but it should have most of them. + +Read the next section for a more detailed explanation of the points in the checklist. + +
+ + + +## Preparing a Project for Open Source Contributions + + + +This section addresses the **minimum** requirements, highlighting key areas and considerations to help you evaluate whether or not your open source project is ready for contributions. When Virtual Coffee determines the projects we highlight and recommend to our members, these are the things we look for and why. We hope it can serve as a guide to anyone who finds this document. + + + +### Name, Description, Tags + +We'll start with the natural beginning for evaluating an open source project: The descriptive fields that GitHub provides. + +- It should have a relevant name. +- It should have a description clearly describing what the project does and is for. +- It should have relevant tags highlighting its scope, stack, field, etc. + +These are the first and most straightforward ways GitHub uses to recommend your content to potential contributors. + +If you want your open source project to participate in [Hacktoberfest](https://hacktoberfest.digitalocean.com/), adding the `hacktoberfest` tag to your repo description is essential. + +An example of a good name, description, and tag: + +![A good open source description](https://user-images.githubusercontent.com/13292886/132138464-242c7d64-8b64-4595-b045-8bf028638b43.png) + +### Documentation + +Good documentation is the best indicator that a project is well maintained, supported, and has a healthy and active community. There are a plethora of materials a repo can utilize to provide context to potential contributors, but the docs that matter most are: + +#### The README + +README is the face of your repo. It's the first thing anyone sees after the name and description, and it's the nexus for all content, links, docs, and other project associations. A project with a README is usually ready to accept contributions. Some basic things you should include in your README are: + +- A more detailed project description than the description field in GitHub. +- How to install and run your application and provide a link to the document that explains it, if any. The more detailed, the better. +- A link to the Code of Conduct. +- Project status, roadmap, and other pertinent details for those interested in using or contributing to the project. + +🔎 Example: [Virtual Coffee's README](https://github.com/Virtual-Coffee/virtualcoffee.io/blob/main/README.md) + +#### The Code of Conduct + +The Code of Conduct (COC) is an excellent indicator of a healthy contributor's environment. There are many Code of Conduct styles online, and many projects use one of the standard templates. But it's always worth looking at a project's Code of Conduct before starting any contribution work. Not every open source project may necessarily have one. Some maintainers opt to describe appropriate behavior in the README file. + +🔎 Example: [Virtual Coffee's Code of Conduct](https://github.com/Virtual-Coffee/.github/blob/main/CODE_OF_CONDUCT.md) + +#### The Contributing Guide + +Last but certainly not least, there should be some discussion of how to contribute to the project. Some write these instructions directly in the README, which _is_ alright. Still, we prefer an explicit document that highlights the following: + +- The recommended process for making issues/submitting pull requests. +- What to do if you feel somebody violates the Code of Conduct? +- How to communicate with maintainers? How often should you expect interactions/reviews, and through what mediums? + +🔎 Example: [Virtual Coffee's Contributing Guide](https://github.com/Virtual-Coffee/virtualcoffee.io/blob/main/CONTRIBUTING.md) + +#### The License + +Many [popular and vetted open source licenses](https://opensource.org/licenses) make it easy and safe for people to contribute to a particular project. Unless you are a lawyer or have access to one, it is advised to use one of these. + +🔎 Example: [Virtual Coffee's open source license](https://github.com/Virtual-Coffee/virtualcoffee.io/blob/main/LICENSE.txt) + +### Issue and Pull Request Templates + +These templates guide potential contributors in making issues and pull requests to the project. They remove much burden from the maintainer and the contributor from guessing the appropriate procedure for these contributions. + +![Templates](https://user-images.githubusercontent.com/13292886/132138524-0a38d35c-305e-4804-ba36-e7adfa73e09d.png) + +🔎 Example: These are [Virtual Coffee's issue templates](https://github.com/Virtual-Coffee/virtualcoffee.io/tree/main/.github/ISSUE_TEMPLATE), and [this is what users see](https://github.com/Virtual-Coffee/virtualcoffee.io/issues/new/choose) when submitting a new issue. + +### Beginner Friendliness + +Suppose you want to make your repository/project beginner friendly. In that case, you should have some indications in the documentation and processes that highlight that. + +- **Call to action**
+ Some repositories say "contributions welcome/beginner friendly" in the + README or have tags on issues for beginners. Either way, there should be some indication that you do want someone to help. +- **Healthy interactions with contributors**
+ Unless a project is brand new, it likely has some history of contributions from others. Looking at those interactions and how the maintainers work with contributors is a great way for contributors to get the "vibe" of the project. How often do maintainers respond? How do they respond? Are people appreciated for their work? If you intend to make your repository/project beginner friendly, bear this in mind. +- **Clear tagging system in issues**
+ The easier it is to navigate the project issues and resources, the more friendly it is for new contributors. + +_Everyone has a slightly different definition of "beginner friendly", so the experience may vary in different repositories, which is okay._ + +### Open Sourcing a Project without Expecting Contributions + +If you want to open source your project so that other people can freely use the fruits of your labor, you don't have to do everything on the checklist. + +For example, you won't need issue and pull request templates or a contributing guide. A Code of Conduct, however, is still recommended. Even if you are not expecting contributions, you may still get public activity on your repo, for example, on issues. It helps you set boundaries and keep conversations respectful. + +
+ + + +## Best Practices for Maintainers + +### Communication with Contributors + +Communication is key to running a successful open source project. Establish conventions for communications early on and make sure these are well documented. Many projects communicate via issues and pull requests. Some use external platforms such as Slack, a forum, IRC, or email lists. All are good ways to communicate. The important thing is to figure out what is most appropriate for your project. Using issues and pull requests is a solid choice if you still need to determine what is best. + +Suppose you are maintaining a company project that is open to external contributors. In that case, you need to coordinate internal and external communication so that outside contributors can get essential updates communicated internally. + +Regardless of the tools used to communicate, there are certain things to keep in mind to keep communication effective and respectful, especially in an international online space. + +- **Have a Code of Conduct**
+ All communication should follow the Code of Conduct. +- **Messages should be kept short and straightforward**
+ It is often best to keep to 'one message, one topic'. However, there may be times when this is not possible. For example, if you will be unavailable for some time and need to respond to several points. If you need to discuss several topics in one message, put each in a separate paragraph. +- **Keep the conversation respectful**
+ Disagreement and debate are healthy, but it is important to keep the conversation respectful. You could criticize people's ideas but don't criticize the person directly. +- **Low-context communication in international, cross-cultural spaces**
+ Meanings should be explicit in the words you use. People from different cultures might not understand specific cultural references, cliches, and sayings. + +### Managing Expectations + +Managing maintainers' and contributors' expectations is important to ensure a project's smooth running with external contributors. + +Here are several things that maintainers can do to help manage the expectations: + +- Breaking down tasks for external contributors into small, well-defined chunks. +- Ensuring that any preferences for code style, branch names, git workflows, etc., are well explained in the contributing guide or README. +- Communicating what support you can provide for contributors, if any (e.g., pair programming, answering questions, etc.). +- Communicating the availability and expected timescales for reviewing pull requests. + +### Building Community + +A strong community around an open source project can be crucial to the project's success. An active community around an open source project will help the maintainers handle support, spread the word, and bring new users and contributors to the project. They also allow maintainers to get feedback and new ideas to help the project fulfill the needs and aspirations of users. + +Building a community takes effort and is equally important as the technical development effort. It is about both tools enabling community building and making and nurturing connections with and between people. + +Things that will help build community: + +- **A place for discussion to happen**
+ It could be GitHub issues for smaller projects where the community focuses on project questions and development discussions. For larger projects or if you want to build a community in a broader sense, a separate venue such as a Slack or Discord community or forum will work better. +- **A Code of Conduct**
+ It sets boundaries for interaction and keeps the community a welcoming space for everyone. +- **Community documentation**
+ It explains how the community works and where to search for things related to the community. For example, we have our{' '} Virtual Coffee Handbook at Virtual Coffee. +- **Leading with empathy and kindness**
+ You can go a long way to ease the journey of new people joining the community by welcoming them and helping them find their way there. + +### Avoiding Burnout + +Maintaining an open source project can be a lot of work; many people do it simultaneously with their "day job". It is essential to be mindful of the risk of burnout and take steps to keep the work manageable. + +Figure out a reasonable time frame for responding to issues and pull requests, and include it in your documentation. If you are maintaining a personal repository in your spare time, it's okay to say a week. + +If you are maintaining a company repository, state your working hours in the documentation and clarify that you will only respond during office hours. Make sure you stick to this. + +
+ + + +## Resources + +- [Building Welcoming Communities](https://opensource.guide/building-community/) +- [An Introduction to Open Source](https://www.digitalocean.com/community/tutorial_series/an-introduction-to-open-source) + + diff --git a/app/routes/__frontend/resources/index.mdx b/app/routes/__frontend/resources/index.mdx index ca197cf7..20539ffe 100644 --- a/app/routes/__frontend/resources/index.mdx +++ b/app/routes/__frontend/resources/index.mdx @@ -1,23 +1,34 @@ --- meta: - title: 'Virtual Coffee Member Resources' - description: 'A collection of resources for Virtual Coffee members' + title: Virtual Coffee Resources + description: A collection of resources we provide for our members and all developers. hero: Hero: UndrawFolder - heroHeader: Member Resources + heroHeader: Virtual Coffee Resources tags: - memberresources - topnav order: 1 --- +import LeadText from '~/components/content/LeadText'; import TextContainer from '~/components/content/TextContainer'; import FileIndex from '~/components/content/FileIndex'; + + +We compile and provide guides and resources for Virtual Coffee's members as community documentation in the **Virtual Coffee Handbook**. We also have resources for all developers that live in **Developer Resources**. Feel free to check them out! + + + + + + + ## Resources Available: - + diff --git a/app/routes/__frontend/resources/open-source/contributor-guide.mdx b/app/routes/__frontend/resources/open-source/contributor-guide.mdx deleted file mode 100644 index 7004bd2c..00000000 --- a/app/routes/__frontend/resources/open-source/contributor-guide.mdx +++ /dev/null @@ -1,246 +0,0 @@ ---- -meta: - title: Contributor Guide - description: 'A guide to contributing to Open Source.' -tags: [memberresources] -hero: - Hero: UndrawDeveloperActivity -order: 3 ---- - -import LeadText from '~/components/content/LeadText'; -import TextContainer from '~/components/content/TextContainer'; - - - - - -This section outlines helpful information for you to contribute to an open source project. - - - - - -## Table of Contents - - - ---- - -## Repository checklist - -If you are a contributor, this checklist is a handy tool for evaluating how well set up a project is to receive contributions. - -
-
✅ It should have a README file.
-
-The README should link to or describe: - -- Project purpose and context -- Installation instructions - -
-
✅ Contributions/Contributing guide.
-
-This guide is usually written in the CONTRIBUTIONS/CONTRIBUTING markdown file. It consists of: - -- The recommended process for making issues/submitting pull requests. -- Ways to communicate with the maintainers. - -You might find the contributing guide in the README file if there is no CONTRIBUTIONS/CONTRIBUTING file. - -
-
✅ A valid open source license.
-
-It is not advised to work on a project that doesn't have a license or is not using a standard open source license. Check out [The License](/resources/open-source/maintainer-guide/#the-license) section of our Maintainer Guide for resources about licenses. -
-
✅ A Code of Conduct (COC).
-
Check the Code of Conduct (COC) to ensure you participate in a way that's consistent with the organization's guidelines.
-
- ---- - -## Guide to writing issues - -There is no such best way to write issues. But there are things we want to avoid that either will discredit what we want or need or won't help the person trying to solve the issue. - -Some important things to remember: - -
-
Provide information
-
- An issue needs information which can include pictures, metrics, and more. It - makes the information more precise than just using words. -
-
Describe the issue
-
- Follow any templates provided by the organization and/or asking yourself: - What, Where, When, How and Why. The issue must be clearly described so that - anyone can understand it without being in your head. 🙂 -
-
Don't solve the issue
-
- You are not expected to solve the issue. If you want to solve the issue, - tell the maintainer in the comment that you want to do it and let them - assign it to you. -
-
- -A suggested solution can be a good thing, especially to help the contributors who have less experience. When you're writing issues on a repository that isn't your own, you might not have all of the contexts to provide the best solution. Therefore, the maintainers always have the final say in the solution or approach to the issue. - -### Tips before writing an issue - -- Check the repository's README and CONTRIBUTING guide (if they have one) to learn how maintainers expect communication and how to create an issue. For example, some repositories require you to start a discussion before making an issue. -- Check current and closed issues to ensure no one has already written the issue you're going to write. -- If the organization has discussions enabled, check if the issue has also been mentioned there. -- Check the Code of Conduct (COC) to ensure you participate in a way that's consistent with the organization's guidelines. The absence of a COC is unfortunate, but it doesn't mean people should be rude or disrespectful, even if the issue is _super frustrating_. - -### How to create an issue - -We'll walk you through how to create an issue and reference the Virtual Coffee repository as an example. - -1. Go to [Virtual Coffee repository](https://github.com/Virtual-Coffee/virtualcoffee.io/). -2. Navigate to the [Issue Tab](https://github.com/Virtual-Coffee/virtualcoffee.io/issues/). -3. Click the "New Issue" button and check if there is an [available template](https://github.com/Virtual-Coffee/virtualcoffee.io/issues/new/choose). -4. Click on the issue category button that fits your needs, then follow all the steps and requirements. - -### How to write an issue - -Remember, there isn't one best way to write an issue. When there are no specific templates provided, here is a list of what's good to share in different types of issues: - -#### 🐞 Bug Issue - -Include this information in the issue: - -
-
Title
-
Clear enough to identify what the problem is about.
-
Screenshots
-
- The screenshots of the UI, logs, if it's a performance issue, or anything - that proves the problem exists. -
-
Your setup
-
- The device and OS version, type of browser and version that you use, and any - other setup that can help reproduce the problem. -
-
Description
-
- Add the steps to reproduce the bug/behavior. Some things to consider: - What - you think the correct behavior _should_ be? - The current behavior and how - it differs. - The conditions required to produce the bug. For example, the - buttons or the link you click, etc. -
-
Solution
-
- If you think of a solution to solve the problem, you can suggest something. - However, the maintainer would be the final decision-maker. -
-
Links
-
Any issue or discussion that relates to this problem, if any.
-
- ---- - -#### 🌱 Feature Issue - -
-
Title
-
Clear enough to identify what feature you want to add or see.
-
Description
-
Describe why you wish to request the feature.
-
Proposed Solution
-
- What do you think the solution should be and why? If you don't have a - suggestion, that's fine too! -
-
Links
-
Any issue or discussion related to this request, if any.
-
- ---- - -#### 📄 Documentation Issue - -
-
Title
-
Clear enough to identify what the problem is about.
-
Description
-
- Describe why you request the documentation change. For example, "I noticed - an unclear explanation of how to install the software in the installation - section." -
-
Proposed Solution
-
- What do you think the solution should be and why? If you don't have a - suggestion, that's fine too! -
-
- ---- - -## Best practices for contributors - -### Observing repository conventions - -Most repositories will have certain conventions that you need to follow. These will differ from project to project. You can usually find them in the README or CONTRIBUTING file. The areas covered will vary, but there are common things to look out for: - -- Code style guides -- General conventions for communicating -- Branch naming conventions -- Git workflows - -### The work process - -Most projects expect some form of discussion before making a pull request. Expectations vary from project to project, and you can usually find them in the README or CONTRIBUTING file. - -Many projects use labels such as `bug`, `documentation`, `help wanted`, `ready for dev` and many more to help you determine what issues you can work on. - -Unless the documentation says otherwise, you should typically comment on an issue that you would like to work on. Ask the maintainer to assign you to it, and only start working on it when they give it to you. It helps to avoid duplication of work and ensures that expectations are aligned. Unless the repository explicitly states that it accepts unsolicited pull requests, you should not take the initiative to make a pull request to a project. - -### Communication with maintainers - -Communication is key to working on open source. Most projects have communication conventions, and contributors should always follow these rules. Many projects primarily communicate via comments on issues or pull requests. Some projects have external groups such as Slack, a forum, IRC, or email lists where communication takes place and work is coordinated. If the project uses these, there should be information on the README or CONTRIBUTING file. If there is no specific information about where to communicate, you can probably assume that communication can take place via comments on issues or pull requests. - -Regardless of the tools used to communicate, there are certain things to keep in mind to keep communication effective and respectful, especially in a international online space. - -
-
Always follow the Code of Conduct.
-
- Yes, always, even if you disagree with its contents or think it restricts - your freedom of speech. The community agreed on these rules to govern the - space. As an entrant to the community, you must follow these rules. -
-
Messages should be kept short and simple.
-
- It is often best to keep to 'one message, one topic'. However, there may be - times when this is not possible. For example, if you will be unavailable for - some time and need to respond to several points. If you need to discuss - several topics in one message, put each in a separate paragraph. -
-
- Disagreement and debate are healthy, but it is important to keep the - conversation respectful. -
-
- You could criticize the ideas people express, but don't criticize the person - directly. -
-
- Low-context communication works best in international, cross-cultural - spaces. -
-
- Meanings should be explicit in the words you use. People from different - cultures might not understand specific cultural references, cliches, and - sayings. -
-
- -### Self-care - -We recommend you approach open source work with the same professionalism as you would work for an employer. But remember, you are doing this in your spare time, and self-care is essential. It means that you should take care of things such as code style, documentation, and testing, just as you would in your work for an employer, but it is okay if you cannot work at a fast pace. If timescales come up in open source contributions, try to set reasonable expectations from the beginning. Otherwise, take a reasonably relaxed time to work on things. For non-trivial issues, you should not be expected to complete the work to a given timescale. - -
diff --git a/app/routes/__frontend/resources/open-source/index.mdx b/app/routes/__frontend/resources/open-source/index.mdx deleted file mode 100644 index d1239347..00000000 --- a/app/routes/__frontend/resources/open-source/index.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -meta: - title: Open Source Resources - description: A collection of guides by our members interested in Open Source Software -hero: - Hero: UndrawVersionControl -tags: - - memberresources - - memberresourcesIndex -order: 2 ---- - -import TextContainer from '~/components/content/TextContainer'; -import FileIndex from '~/components/content/FileIndex'; - - - -## Open Source Resources - - - - diff --git a/app/routes/__frontend/resources/open-source/maintainer-guide.mdx b/app/routes/__frontend/resources/open-source/maintainer-guide.mdx deleted file mode 100644 index 4bae4e5d..00000000 --- a/app/routes/__frontend/resources/open-source/maintainer-guide.mdx +++ /dev/null @@ -1,294 +0,0 @@ ---- -meta: - title: Maintainer Guide - description: 'A guide to maintaining Open Source projects.' -tags: [memberresources] -hero: - Hero: UndrawOperatingSystem -order: 4 ---- - -import LeadText from '~/components/content/LeadText'; -import TextContainer from '~/components/content/TextContainer'; - - - - - -This section outlines helpful information for your journey as an open source project's maintainer. - - - - - -## Table of Contents - - - ---- - -## Repository Checklist - -Suppose you are a maintainer looking to open an open source project for contributions. In that case, this checklist will help you to get your repository into a good state to start receiving external contributions. - -Here's the checklist. For more detailed explanation of these points, check out [this section](/resources/open-source/maintainer-guide/#preparing-a-project-for-open-source-contributions). It isn't necessary for a project in the wild to have _all_ of these things, but it should have most of them. - -
-
✅ It should have a relevant name.
-
- -
-
✅ It should have a description.
-
- The description should clearly describes what the project does and is for. - - If your project is participating in [Hacktoberfest](https://hacktoberfest.digitalocean.com/), you should also write the Hacktoberfest topic here. Or you can add the `hacktoberfest-accepted` label to the accepted pull requests. - -
-
✅ It should have relevant topics.
-
- These topics should highlight its scope, stack, field, etc. - -
-
✅ It should have a README file.
-
- The README should link to or describe: - - - Project purpose and context - - Installation instructions - -
-
✅ A CONTRIBUTIONS/CONTRIBUTING markdown file.
-
- It provides contribution guide and consist of: - - - The recommended process for making issues/submitting pull requests. - - Ways to communicate with the maintainers. - -
-
✅ A valid open source license.
-
- A license is **essential**. A project is not an open source if it doesn't have a valid open source license. - -
-
✅ A Code of Conduct (COC).
-
- The Code of Conduct (COC) is an excellent indicator of a healthy contributor's environment. -
-
✅ Issue and Pull request templates.
-
- These templates guide potential contributors on making issues and pull requests to the project. They remove a lot of burden from the maintainer and the contributor from guessing the appropriate procedure for these contributions. -
-
- ---- - -## Preparing a project for Open Source contributions - - - -This section addresses the **minimum** requirements, highlighting key areas and considerations to help you evaluate whether or not your open source project is ready for contributions. When Virtual Coffee determines the projects we highlight and recommend to our members, these are the things we look for and why. Hopefully, it can serve as a guide to anyone who finds this document. - - - -### Name, Description, Tags - -We'll start with the natural beginning for evaluating an open source project: The descriptive fields that GitHub provides. - -- It should have a relevant name. -- It should have a description that clearly describes what the project does and is for. -- It should have relevant tags highlighting its scope, stack, field, etc. - -These are the first and most straightforward ways GitHub uses to recommend your content to potential contributors. - -If you want your open source project to participate in [Hacktoberfest](https://hacktoberfest.digitalocean.com/), adding the `hacktoberfest` tag to your repo description is one essential way to indicate that. - -An example of a good name, description, and tag: - -![A good open source description](https://user-images.githubusercontent.com/13292886/132138464-242c7d64-8b64-4595-b045-8bf028638b43.png) - -### Documentation - -Good documentation is the best indicator that a project is well maintained, well supported, and has a healthy and active community. There are a plethora of materials a repo can utilize to provide context to potential contributors, but the docs that matter most are: - -#### The README - -README is the face of your repo. It's the first thing anyone sees, after maybe the name and description, and it's the nexus for all content, links, docs, and other project associations. A project without a README is probably not ready to accept contributions. Some basic things you should include in your README are: - -- A more detailed description of the project than the description field in GitHub. -- How to install and run your application and provide a link to the document that explains it, if any. The more detailed, the better. -- A link to the Code of Conduct. -- Project status, roadmap, and other pertinent details for those interested in using or contributing to the project. - -🔎 Example: [Virtual Coffee's README](https://github.com/Virtual-Coffee/virtualcoffee.io/blob/main/README.md) - -#### The Code of Conduct - -The Code of Conduct (COC) is an excellent indicator of a healthy contributor's environment. There are many Code of Conduct styles online, and many projects use one of the standard templates. But it's always worth looking at a project's Code of Conduct before starting any contribution work. Not every open source project may necessarily have one. Some maintainers opt to describe appropriate behavior in the README file. - -🔎 Example: [Virtual Coffee's Code of Conduct](https://github.com/Virtual-Coffee/.github/blob/main/CODE_OF_CONDUCT.md) - -#### The Contributing Guide - -Last but certainly not least, there should be some discussion of how to contribute to the project. Some people write these instructions directly in the README, which _can_ be alright. Still, we prefer an explicit document that highlights: - -- The recommended process for making issues/submitting pull requests. -- What to do if you feel like somebody is violating the Code of Conduct? -- How to communicate with maintainers? How often should you expect interactions/reviews, and through what mediums? - -🔎 Example: [Virtual Coffee's Contributing Guide](https://github.com/Virtual-Coffee/virtualcoffee.io/blob/main/CONTRIBUTING.md) - -#### The License - -Many [popular and vetted open source licenses](https://opensource.org/licenses) make it easy and safe for people to contribute to a particular project. Unless you are a lawyer or have access to one, it is advised to use one of these. - -🔎 Example: [Virtual Coffee's open source license](https://github.com/Virtual-Coffee/virtualcoffee.io/blob/main/LICENSE.txt) - -### Issue and Pull Request templates - -These templates guide potential contributors on making issues and pull requests to the project. They remove a lot of burden from the maintainer and the contributor from guessing the appropriate procedure for these contributions. - -![Templates](https://user-images.githubusercontent.com/13292886/132138524-0a38d35c-305e-4804-ba36-e7adfa73e09d.png) - -🔎 Example: [Virtual Coffee's issue templates](https://github.com/Virtual-Coffee/virtualcoffee.io/tree/main/.github/ISSUE_TEMPLATE), and [this is what users see](https://github.com/Virtual-Coffee/virtualcoffee.io/issues/new/choose) when submitting a new issue. - -### Beginner Friendliness - -Suppose you want to make your repository/project beginner friendly. In that case, you should have some indications in the documentation and processes that highlight that. - -
-
Call to action.
-
- Some repositories say "contributions welcome/beginner friendly" in the - README or have tags on issues for beginners. Either way, there should be - some indication that you do want someone to help. -
-
Healthy interactions with contributors.
-
- Unless a project is brand new, it likely has some history of contributions - from others. Looking at those interactions and how the maintainers work with - contributors is a great way for contributors to get the "vibe" of the - project. How often do maintainers respond? How do they respond? Are people - appreciated for their work? If you intend to make your repository/project - beginner friendly, bear this in mind. -
-
Clear tagging system in issues.
-
- The easier it is to navigate the project issues and resources, the more - friendly it is for new contributors. -
-
- -_Note that everyone has a slightly different definition of "beginner friendly", so the experience may vary in different repositories, which is okay._ - -### Open sourcing a project without expecting contributions - -If you want to open source your project so that other people can freely use the fruits of your labor, you don't have to do everything on the checklist. - -For example, you probably won't need issue and pull request templates or a contributing guide. A Code of Conduct, however, is still recommended. Even if you are not expecting contributions, you may still get public activity on your repo, for example, on issues. It helps you set boundaries and keep conversations respectful. - ---- - -## Best practices for maintainers - -### Communication with contributors - -Communication is key to running a successful open source project. Establish conventions for communications early on and make sure these are well documented. Many projects communicate via issues and pull requests. Some use external platforms such as Slack, a forum, IRC, or email lists. All are good ways to communicate. The important thing is to figure out what is most appropriate for your project. Using issues and pull requests is a solid choice if you are unsure what is best. - -Suppose you are maintaining a company project that is open to external contributors. In that case, you need to coordinate internal and external communication so that outside contributors don't miss out on essential updates communicated internally. - -Regardless of the tools used to communicate, there are certain things to keep in mind to keep communication effective and respectful, especially in an international online space. - -
-
Have a Code of Conduct
-
All communication should follow the Code of Conduct.
-
Messages should be kept short and simple.
-
- It is often best to keep to 'one message, one topic'. However, there may be - times when this is not possible. For example, if you will be unavailable for - some time and need to respond to several points. If you need to discuss - several topics in one message, put each in a separate paragraph. -
-
- Disagreement and debate are healthy, but it is important to keep the - conversation respectful. -
-
- You could criticize the ideas people express, but don't criticize the person - directly. -
-
- Low-context communication works best in international, cross-cultural - spaces. -
-
- Meanings should be explicit in the words you use. People from different - cultures might not understand specific cultural references, cliches, and - sayings. -
-
- -### Managing expectations - -It is important to effectively manage both maintainers and contributors' expectations to ensure a project's smooth running with external contributors. - -Here are several things that maintainers can do to help manage the expectations: - -- Breaking down tasks for external contributors into small, well-defined chunks. -- Ensuring that any preferences for code style, branch names, git workflows, etc., are well explained in the contributing guide or README. -- Communicating what support you can provide for contributors if any (e.g., pair programming, answering questions, etc.). -- Communicating the availability and expected timescales for reviewing pull requests. - -### Building community - -A strong community around an open source project can be crucial to the project's success. An active community around an open source project will help the maintainers handle support, spread the word, and bring new users and contributors to the project. They also allow maintainers to get feedback and new ideas to help the project fulfill the needs and aspirations of users. - -Building a community takes effort and is equally important as the technical development effort. It is about both tools enabling community building and making and nurturing connections with and between people. - -Things that will help build community: - -
-
A place for discussion to happen.
-
- It could be GitHub issues for smaller projects where the community focuses - on project questions and development discussions. For larger projects or if - you want to build a community in a broader sense, a separate venue such as a - Slack or Discord community or forum will probably work better. -
-
A Code of Conduct
-
- It sets boundaries for interaction and keeps the community a welcoming space - for everyone. -
-
Community documentation.
-
- It explains how the community works and where to search for things related - to the community. For example, here at Virtual Coffee, we have our [Member - Resources](https://virtualcoffee.io/resources/virtual-coffee/) page. -
-
- Leading with empathy and kindness, welcoming new people, and helping them - find their way in the community. -
-
- Joining a new community where you don't know the people can be an - intimidating experience, and you can go a long way to ease the journey. -
-
- -### Avoiding burnout - -Maintaining an open source project can be a lot of work, and many people do it simultaneously with their "day job". It is essential to be mindful of the risk of burnout and take steps to keep the work at a manageable level. - -Figure out a reasonable time frame for responding to issues and pull requests, and include it in your documentation. If you are an individual maintaining a repository in your spare time, it's okay to say a week. - -If you are maintaining a company repository, state your working hours in the documentation and clarify that you won't respond outside of office hours. Make sure you stick to this. - ---- - -## Additional Resources - -- [The Guide to Building Open Source Communities](https://opensource.guide/building-community/) -- [Introduction to Open Source](https://www.digitalocean.com/community/tutorial_series/an-introduction-to-open-source) - -
diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/get-involved/index.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/get-involved/index.mdx new file mode 100644 index 00000000..5b79c5e3 --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/get-involved/index.mdx @@ -0,0 +1,33 @@ +--- +meta: + title: Get Involved at Virtual Coffee + description: Paths to Leadership and Volunteering at Virtual Coffee. +hero: + Hero: UndrawCollaborators +tags: + - memberresources + - memberresourcesIndex +order: 3 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import FileIndex from '~/components/content/FileIndex'; + + + + + +Our community values creating opportunities for learning, leadership, and contribution for everyone, and there are multiple ways for you to get involved! + + + + + + + +## Guides Available: + + + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/get-involved/leading-coffee-table-groups.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/get-involved/leading-coffee-table-groups.mdx new file mode 100644 index 00000000..a8a42952 --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/get-involved/leading-coffee-table-groups.mdx @@ -0,0 +1,105 @@ +--- +meta: + title: Leading a Coffee Table Group + description: This guide outlines what is expected of a Coffee Table Group and how a member can start a new one. +hero: + Hero: UndrawConversation +tags: [memberresources] +order: 2 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +Our Coffee Table Groups have been one of the most popular and valuable features for members of our community. Coffee Table Groups are small, special interest groups created and run by our members. They can involve Zoom meetings, async Slack hangouts, or anything else the members would like to do. + + + + + +## Table of Contents + + + +--- + +## Coffee Table Group Definition + +A group with a common interest that would like to cultivate it through more intimate and scheduled conversation. Member-led, developed, and driven for other Virtual Coffee members. Coffee Table Groups adhere to the Virtual Coffee Code of Conduct and hold community feedback in the highest regard. The result is a meetup with a smaller group that will implement suggestions. Because these groups are part of the Virtual Coffee community, industry veterans may be in attendance, willing to engage and connect, or the Leaders may encourage attendees to speak with specific Virtual Coffee members per topic of conversation. + +Check out our list of existing Coffee Table Groups. + + + + + +## Coffee Table Group Leader Definition + +A Coffee Table Group Leader creates a space and context for conversation. Current Leaders describe the role as a Coffee Room Leader with a content focus. A Leader hosts events on a consistent schedule, comes up with topics to discuss for each event, and encourages attendees. They also set expectations for attendees via clear communication about scheduling and giving new members context when they join. + + + + + +## Guidelines + +- If using the VC-events CMS, have 1-2 group Leaders willing to schedule and communicate with Virtual Coffee Maintainers. +- Adherence to the Virtual Coffee Code of Conduct. +- Use the Code of Conduct Violation Form rather than trying to take care of Code of Conduct violations yourself. +- Clearly relate any guidelines or requirements to members of your group. For example, let them know if they must commit to leading a session, have a specific experience level, etc. + + + + + +## Benefits + +- Zoom rooms hosted by Virtual Coffee. +- Events appear in the `#announcements` channel on Slack and the Virtual Coffee events page. +- Reminders during Coffees and other official events. + + + + + +## Starting a New Coffee Table Group + +If you'd like to start a new Coffee Table Group, do fill out our Coffee Table Group Application! + + + + + +## Best Practices + +Each Coffee Table Group will have its own approach and personality. Still, creating an environment where your group members feel supported and know what to expect is important. Here are some tips to help establish a healthy group: + +### Group Format + +- Determine the schedule, type, and format for your group. +- Will you meet weekly, monthly, or some other way? +- Will it always be a synchronous meeting? +- Will you have async check-ins in between meetings? + +### Expectations + +- Type of meeting (Q&A, presentation, small group conversations, pair programming, interactive, etc.). +- Is there material that needs to be covered? +- Will members be asked to lead a session? +- Are other volunteers or co-leads needed? +- Are there expectations for communication among the group members? Where will you be communicating (Slack channel, only in Zoom, etc.)? +- Are there expectations for communicating in a video chat (for example, using the hand raise function, doing an intro, etc.)? +- Please provide the following links in video meetings: + - Virtual Coffee Code of Conduct + - Code of Conduct Violation Form + +### Ending a Group + +If your group is ongoing, there might be a point where you don't have the time or energy to continue hosting. That's okay. All volunteers (and leading a Coffee Table Group is definitely also an act of volunteering) must know that it is always okay to prioritize their mental and physical health. Rather than discontinuing the group by not scheduling a new one, see if anyone in the group or the larger Virtual Coffee community is willing to take on the responsibility. Communicate with your Coffee Table Group about the need for a new host. If you're unable to do so, let the Maintainers know. + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/get-involved/paths-to-leadership.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/get-involved/paths-to-leadership.mdx new file mode 100644 index 00000000..45906eb8 --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/get-involved/paths-to-leadership.mdx @@ -0,0 +1,435 @@ +--- +meta: + title: Paths to Leadership & Roles + description: Supporting our members as they support each other. +hero: + Hero: UndrawPowerful +tags: [memberresources] +order: 1 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +Part of Virtual Coffee's mission is to make safe, supportive spaces for pursuing leadership and roles in community building. We currently have a few initiatives where we'd love more volunteers to help make this community great! + +If you find a role or position you'd be interested in, please fill out our Volunteer Form and let us know! + + + + + +## Table of Contents + + + +--- + +## Department: Virtual Coffee Coffees + + + +Our Coffees (Virtual Coffee weekly Zoom chats) are our most important and visible event on Tuesdays and Thursdays. We try to be consistent and organized in running these as much as possible, and the volunteer teams are a massive part of that! + + + +### Coffee Room Leader + +#### Role Department: + +Virtual Coffee Coffees + +#### Role Purpose: + +Facilitating a Coffee breakout room. The role moderates the conversations once attendees are put into small groups for intimate chats. + +#### Role Duties and Responsibilities: + +- Moderate the breakout room conversations. +- Guide the conversation through appropriate topics. +- Foster an inclusive environment where members feel comfortable sharing. + +#### Role Qualifications: + +- Attended at least 10 Coffees. +- Reviewed the official Room Leader documentation. +- Co-led at least 3 times with another Room Leader. +- Approved by existing Room Leader in good standing. + +#### Role Benefits: + +- Public speaking practice. +- Practicing empathetic communication. +- Moderation practice. + +#### Working Conditions: + +- Approximately ~2 hours per week. +- Primarily during the Coffee. + +
+ {/* prettier-ignore */} + Apply Now! +
+ +
+ + + +### Coffee Note Taker + +#### Role Department: + +Virtual Coffee Coffees + +#### Role Purpose: + +This role gives members a chance to review the conversations during Coffee. + +#### Role Duties and Responsibilities: + +- Recording the responses to icebreaker questions in the Coffee breakout rooms. +- Creating synopses of the conversations that happen in the rooms. +- Noting any resources attendees share that may be useful to others. +- Organizing those notes into a clear and readable format. +- Sharing the notes in Slack after the meeting is complete. + +#### Role Qualifications: + +- Attended at least 4 Coffees. +- Reviewed the official Note Taker documentation. + +#### Role Benefits: + +- Active listening practice. +- Efficient summarization skills. + +#### Working Conditions: + +- Approximately ~3 hours per week. +- Primarily during the Coffee. + +
+ {/* prettier-ignore */} + Apply Now! +
+ +
+ + + +### Coffee Coordinator + +#### Role Department: + +Virtual Coffee Coffees + +#### Role Purpose: + +This role is vital to ensuring the smooth operation of the Coffees. They are responsible for managing the technical aspects of the Zoom and breakout rooms. They are also responsible for coordinating the Coffee volunteers before and during a Coffee. + +#### Role Duties and Responsibilities: + +- At least 12-24 hours before the next Coffee, if an individual is coordinating that event, they must create and release the breakdown of relevant details for that event, including: + - What is the icebreaker question for that chat? + - What is the backup topic for that chat? + - Who are the session's Room Leaders and Note Takers, chosen based on volunteer responses to availability? +- Right before events, the Coordinator may make micro-adjustments to those room plans. +- During the Coffee, the Coordinator creates the rooms and assigns Room Leaders and Note Takers as defined by the schedule. +- They assign all Coffee participants to their rooms. +- They announce the return to the main room and close the breakout rooms at the end of the conversation. +- They end the Zoom. + +#### Role Qualifications: + +- Active in the community & member in good standing. +- Reviewed the official Room Coordinator documentation. +- Must have been a Coffee Room Leader or Note Taker for at least a month. +- Prepared to undergo an apprenticeship period where they coordinate at least two times under the supervision of an existing Room Coordinator. +- Prepared to demonstrate they understand the nuances of creating rooms based on different community member personas. + +#### Role Benefits: + +- Practice with Zoom meeting controls. +- Training in coordinating groups of volunteers. + +#### Working Conditions: + +- Total volunteer time is ~5 hours a week. +- Available 30 minutes before and for the entire duration of a Coffee. +- Availability to release volunteer schedule at least 12-24 hours before a Coffee. + +
+ {/* prettier-ignore */} + Apply Now! +
+ +
+ + + +### Coffee MC + +#### Role Department: + +Virtual Coffee Coffees + +#### Role Purpose: + +Master of Ceremonies/main speaker for a Coffee. This role is the "face" of the chat and the primary speaker for the event. + +#### Role Duties and Responsibilities: + +- The MC puts notes on all Virtual Coffee activities relevant to that week's announcements, spanning all events and operations. +- Delivering the opening welcome. +- Explaining the event format, how to use the Code of Conduct and external resources. +- Giving the Coordinator enough time to configure the breakout rooms. +- Delivering final announcements. +- Sending off all attendees. + +#### Role Qualifications: + +- Must have been a Coffee Room Leader for at least 3 months. +- Led a room at least 10 times. +- Recommendation by an existing MC. +- Approval by a Maintainer. + +#### Role Benefits: + +- A safe space to practice public speaking. + +#### Working Conditions: + +- Approximately 3 hours per week. +- Mainly required during the actual Coffees themselves. + +
+ {/* prettier-ignore */} + Apply Now! +
+ +
+ + + +## Department: Virtual Coffee Lunch & Learns + + + +Lunch & Learn is the primary avenue for Virtual Coffee members to share information with other members and an excellent opportunity for members to build skills in public speaking and technical presentation. Much need to be done to support our members on every step of the speaking journey. + + + +### Lunch & Learn Hype Person + +#### Role Department: + +Virtual Coffee Lunch & Learns + +#### Role Purpose: + +This role ensures the community is aware of upcoming Lunch & Learn events. + +#### Role Duties and Responsibilities: + +- Gathers community interest for Lunch & Learn topics/speakers. +- Sources/encourages community members to submit Lunch & Learns. +- Gathers community interest in various Lunch & Learn platforms. +- Assists Lunch & Learn speakers with the form submission, event description writing, topic formulation, etc. + +#### Role Requirements: + +- Active in the community & member in good standing. + +#### Working Conditions: + +- Approximately 2-3 hours per week. +- Work is done primarily in Virtual Coffee Slack. + +
+ {/* prettier-ignore */} + Apply Now! +
+ + + + + +### Lunch & Learn Coordinator + +#### Role Department: + +Virtual Coffee Lunch & Learns + +#### Current Coordinator + +A special thank you to **Shelley McHardy** for her work as our Lunch & Learn Coordinator. + +#### Role Purpose: + +This role manages the overall organization of Lunch & Learn, from submission to final presentation. + +#### Role Duties and Responsibilities: + +- Reviews Lunch & Learn submissions and acknowledges their receipt. +- Ensures event description is clear and asks clarifying questions if necessary. +- Coordinates Lunch & Learn schedule on the Virtual Coffee calendar. +- Coordinates host availability. +- Checks in with Lunch & Learn speakers and hosts in the weeks leading up to the event to confirm readiness/speaker and/or availability. +- Ensures speaker bio is up to date for the Lunch & Learn. +- Acts as a point person for Lunch & Learn hosts. + +#### Role Requirements: + +- Active in the community & member in good standing. +- Previously attended a Lunch & Learn session. + +#### Working Conditions: + +- Approximately 3-4 hours per week. +- Work in Virtual Coffee GitHub repo, CMS, and Slack. + +
+ + + +### Lunch & Learn Host + +#### Role Department: + +Virtual Coffee Lunch & Learns + +#### Role Purpose: + +This role acts as the MC for a Lunch & Learn event and supports the presenter and viewers in having an enjoyable event. + +#### Role Duties and Responsibilities: + +- Facilitates Lunch & Learn events via designated platforms (Zoom, Twitter Spaces, etc.). +- Moderates a Lunch & Learn chat, Q&A, and other event portions as required. +- Ensures the Virtual Coffee Code of Conduct is followed. +- Ensures the event is recorded to the cloud for later processing by our AV team. +- Facilitates any AV checks/tests for the presenter as needed. + +#### Role Benefits: + +- Public speaking practice and training. +- Moderation practice. + +#### Role Requirements: + +- Active in the community & member in good standing. +- Comfortable and proficient in the event’s designated platform. +- Attended at least 3 Lunch & Learn sessions. +- Bonus: VC-Advisor, Coffee Table Leader, Coffee MC, Coffee Room Leader, Lunch & Learn Coordinator. + +#### Working Conditions: + +- Approximately 2-3 hours per event. +- Takes place primarily on Fridays in Zoom. + +
+ {/* prettier-ignore */} + Apply Now! +
+ +
+ + + +## Department: General Virtual Coffee Operations + + + +It takes a lot of moving pieces to keep this all coordinated. Operations work behind the scenes to make sure all the other arms of Virtual Coffee are running smoothly, and they take a birds-eye view over our various divisions. + + + +### Coffee Table Groups Coordinator + +#### Current Coordinator + +A special thank you to **Abbey Perini** for her work as our Coffee Table Groups Coordinator. + +#### Role Department: + +General Virtual Coffee Operations + +#### Role Purpose: + +This role coordinates and manages our Coffee Table Groups and supports them because they are essential to our community. + +#### Role Duties and Responsibilities: + +- Oversees, observes and manages the Coffee Table groups. +- Ensures all event descriptions are clear and accessible for members. +- Checks in with Coffee Table hosts for feedback and to ensure hosts are supported. +- Acts as point person for hosts, fielding questions and assisting with onboarding. +- Reviews applications for new Coffee Table groups. + +#### Role Benefits: + +- Opportunity to learn group organization. +- Opportunity to work with several different Virtual Coffee endeavors. + +#### Role Qualifications: + +- Active in the community & member in good standing. +- Member for at least 3 months. +- Attended at least 10 Coffees. + +#### Working Conditions: + +- About 3-4 hours per week. +- Time is split between communications in Slack and potential Zooms. + + + + + +### Virtual Coffee Moderator + +#### Role Department: + +General Virtual Coffee Operations + +#### Role Purpose: + +Uphold the tenets of the Code of Conduct in all community spaces. Ensure that member conversations and interactions aren't harming themselves or their fellow community members. + +#### Role Duties and Responsibilities: + +- Monitoring the communication in Virtual Coffee Slack channels. +- Stepping into potentially heated conversations and performing mediation. +- Recommending members for further follow-up conversations and disciplinary actions. +- Reporting incidents to the rest of the moderation team for discussion. +- Removing harmful content that violates the Code of Conduct from shared Virtual Coffee spaces. +- Temporarily revoking a person's access to Virtual Coffee digital spaces where they have caused harm. + +#### Role Qualifications: + +- Uphold the Virtual Coffee mission and Code of Conduct. +- Be willing to maintain an environment of support and healthy communication in Virtual Coffee spaces. +- Investigate any and all potential violations of the Virtual Coffee Code of Conduct. +- Mediate in any conflicts involving Virtual Coffee members. + +#### Role Benefits: + +- Opportunity to learn and practice
Nonviolent Communication Techniques to diffuse tense situations. + +#### Working Conditions: + +- Approximately 5-10 hours per week. +- Takes place primarily in Slack and during our Zoom events, GitHub, etc. + +
+ {/* prettier-ignore */} + Apply Now! +
+ + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/code-of-conduct.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/code-of-conduct.mdx new file mode 100644 index 00000000..5eb3a95b --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/code-of-conduct.mdx @@ -0,0 +1,51 @@ +--- +meta: + title: Virtual Coffee Code of Conduct + description: Our Code of Conduct is here to ensure our community always be a welcoming, inclusive, supportive, and safe place for all our members. +hero: + Hero: UndrawAgreement +tags: [memberresources] +order: 1 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +The Code of Conduct is the _most essential part_ of +Virtual Coffee. So please read it carefully. We want this community to be a welcoming, +inclusive, supportive, and safe place for all our members. + + + + + +## Table of Contents + + + +--- + +## Our Pledge + +In order to create a welcoming and inclusive community, we pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. + + + +**_We take our Code of Conduct seriously_**. + + + + + + + +### I think someone has violated the Code of Conduct. How can I report it? + +You can report your experience to our Maintainers at hello@virtualcoffee.io or by completing our Code of Conduct Violation Form. + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/coffee-table-groups.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/coffee-table-groups.mdx new file mode 100644 index 00000000..fdf6365a --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/coffee-table-groups.mdx @@ -0,0 +1,169 @@ +--- +meta: + title: Coffee Table Groups + description: The list of Coffee Table Groups—the small, special interest groups created and run by our members. +hero: + Hero: UndrawConversation +tags: [memberresources] +order: 4 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +Coffee Table Groups are small, special interest groups created and run by our members. They can involve Zoom meetings, async Slack hangouts, or anything else the members want to do. + +In this article, you will find the list of our current Coffee Table Groups based on the day and time of the events. You can contact the group's Leader for any questions or ask for more information, and you are most welcome to join! + + + + + +## Table of Contents + + + +--- + +## Tech Interview Study Group + + + +_Mondays at 4:00 PM ET_ + +**Leaders: Julia Seidman, Marie Antons** + + + +A weekly discussion of job search & interview-related topics—mini mock interviews, technical topic discussions, job search tips, occasional guest speakers, etc. We are always looking for ideas to help meet your needs! All stages of career & job search are welcome. + +Interested? Join the `#tech-interview-study-group` Slack channel! + + + + + +## Accountabilibuddies + + + +_Tuesdays at 7:00 PM ET, Thursdays at 9:00 AM ET, and every other Sunday at 1:00 PM ET_ + +**Leaders:
+Tuesdays: Lillian Chan, Sadie Jay | Thursdays: Meg Gutshall, Joe Karow | Sundays: Raynald Mirville** + +
+ +Do you want to learn that new tool, finish that blog post, or send that job application, but you're so busy that the day is over before you know it? Join us and add some fun and friendly accountability to your schedule! + +Drop into our sessions whenever and for however long your schedule allows. You'll find encouragement and support alongside your accountabilibuddies, no matter the goal! + +
+ + + +## Indie-Startup Hackers + + + +_Every other Wednesday at 12:00 PM ET_ + +**Leader: Ray Deck** + + + +Running a company? Thinking of starting? We support each other and discuss the issues that can make us better at the business of technology. Hack commerce! + +Interested? Join the `#indie-startup-hackers` Slack channel! + + + + + +## The Pack Hunt + + + +_Wednesdays at 2:00 PM ET_ + +**Leader: Rad Turkin** + + + +Job Hunting as a collective—an accountability session exclusively for job hunting. Share your goals, target roles, and resources, support each other by being present, modeling good job hunting, and sharing as we apply for jobs, reach out to recruiters, and scroll LinkedIn for leads. "Hunt with the pack, arwoooo..." + + + + + +## Feelings Friday + + + +_Fridays at 10:00 AM ET_ + +**Leader: Ethan Freire** + + + +Feelings Friday was started at the Flatiron School coding bootcamp by its founders, Avi Flombaum & Adam Enbar, after noticing burnout among their first cohorts. Join a safe space to share what that's on your mind and hold space for others. It's a great way to unwind at the end of the week! + + + + + +## Frontend Friday Folks + + + +_Fridays at 11:00 AM ET and Saturdays at 12:00 PM ET_ + +**Leaders:
+Fridays: Jörn Bernhardt | Saturdays: Aishwarya Mali** + +
+ +We first started Frontend Friday Folks every Friday. But now, we also have a session on Saturdays: Savvy Saturday Stylers Slaying CSSBattle! We work on a puzzle at [CSSBattle](https://cssbattle.dev/), and we're taking over the `#co-working-room` channel during this time. Feel free to join us and learn more about CSS! + +
+ + + +## Virtual Coffee Book Club + + + +**Leader: Tom Cudd**
+_(or contact our Coffee Table Group Coordinator, Abbey Perini)_ + +
+ +Read, study, and discuss 2-3 books each year with fellow Virtual Coffee readers. Use the questions in the [Virtual Coffee Book Club on GitHub discussions](https://github.com/orgs/Virtual-Coffee/discussions/categories/vc-book-club) to go at your own pace for any past books. Feel free to gather a group of friends and start your own read-through for a book. + +Just join the `#book-club` Slack channel! + +
+ + + + + +These are the currently scheduled times for the events at the time of this publication. Please check the official Virtual Coffee `#announcements`, `#vc-events`, or other noted channels on Slack for any updates and links to event rooms. + + + + + + + +## Volunteering in Coffee Table Groups + +- If you'd like to start a new Coffee Table Group, head to the Leading a Coffee Table Group page for more information. +- If you want to help a particular Coffee Table Group, feel free to reach out to the group's Leader or our Coffee Table Group Coordinator. + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/giving-back-to-the-community.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/giving-back-to-the-community.mdx new file mode 100644 index 00000000..eeae485c --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/giving-back-to-the-community.mdx @@ -0,0 +1,53 @@ +--- +meta: + title: Giving Back to the Community + description: Ways to give back to the Virtual Coffee community. +hero: + Hero: UndrawTeamCollaboration +tags: [memberresources] +order: 9 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +Do you want to give back to the community but wondering how? There are many ways to help us, and we appreciate your help! + + + + + +## Table of Contents + + + +--- + +## Volunteering at Virtual Coffee + +### Get Involved + +As you can see, Virtual Coffee has Coffees (Virtual Coffee weekly Zoom chats), events, and even office hours! And these are all becoming possible thanks to our members who run these voluntarily. + +If you want to join the volunteer team, check out our open roles! If you want to share your knowledge with other members through a presentation, consider giving a Lunch & Learn session. And if you are interested in starting a new Coffee Table group, you can find more information on the Leading a Coffee Table Group page. + +If you have questions about getting involved in Virtual Coffee, drop them in the `#community-questions` channel or contact one of our Maintainers. + +## Contributing to Virtual Coffee + +### [Virtual Coffee's Repositories](https://github.com/Virtual-Coffee) + +Virtual Coffee’s [website](https://github.com/Virtual-Coffee/virtualcoffee.io) and [podcast transcripts](https://github.com/Virtual-Coffee/podcast-transcripts) are open source, and we love contributions! Please read our Contributing Guide (CONTRIBUTING.md) in each repository before contributing. + +If you still need to become familiar with open source, we got you covered! Head over to our Open Source Resources for more guidance about open source. And if you have questions, you can always drop them in the `open-source` channel on Slack. + +### [Sponsorships](https://github.com/sponsors/Virtual-Coffee) + +Sponsorships help us continue serving the Virtual Coffee community and supporting everything you see on this website! + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/glossary.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/glossary.mdx new file mode 100644 index 00000000..e55b35b2 --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/glossary.mdx @@ -0,0 +1,110 @@ +--- +meta: + title: Glossary + description: List of terms that we use in the Virtual Coffee community. +hero: + Hero: UndrawReadingList +tags: [memberresources] +order: 11 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +In this article, you can find the meaning of terms we use in the Virtual Coffee community. + + + + + +## Table of Contents + + + +--- + +## Virtual Coffee Related + +### Coffee(s) + +Our weekly Zoom chats | Tuesdays at 9:00 AM ET and Thursdays at 12:00 PM ET. + +### Coffee Table Groups + +They are small, special interest groups created and run by our members. They can involve Zoom meetings, async Slack hangouts, or anything else the members would like to do. + +### Maintainers + +Virtual Coffee's core team. + +### Note Taker + +An assigned member who takes notes during a Coffee and shares them afterward on Slack. + +### Room Leader + +An assigned member who facilitates a Coffee breakout room by moderating the conversations during the Coffee. + +### VC + +The abbreviation of Virtual Coffee. Our members usually refer to us as VC. + + + + + +## Virtual Coffee Events Related + +### Hacktoberfest Initiative + +An event where we encourage, help, and support our members to contribute to and/or maintain open source repositories during Hacktoberfest. + +### Lightning Talk + +Short (5-20 minute time range) tech-related presentations from members to members. We hold this event occasionally. + +### Lunch & Learns + +It's a (typically) hour-long speaking opportunity for anyone in the community to share their thoughts and ideas with a small audience of friends. + +### Monthly Challenge + +Every month, we create a challenge with a particular theme to allow our members to learn, grow, and receive support and mentorship. + + + + + +## General + +### Breakout Rooms + +Small groups in Zoom meetings. + +### COC + +The abbreviation of Code of Conduct. + +### Hacktoberfest + +[A month-long virtual event](https://hacktoberfest.com/) that encourages and supports open source contributions, sponsored by DigitalOcean. + +### Office Hours + +A pre-arranged time when a person is available during working hours to answer questions or provide assistance.
+_Credit: [Wordnik](https://www.wordnik.com/words/office%20hours)_ + +### Slack + +[Slack](https://slack.com/) is the chat service that we use for our members to connect asynchronously. + +### Zoom + +[Zoom](https://zoom.us/) is the communication and collaboration platform that we use for our virtual meetings and events. + +
diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/hacktoberfest-initiative.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/hacktoberfest-initiative.mdx new file mode 100644 index 00000000..f5a9678b --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/hacktoberfest-initiative.mdx @@ -0,0 +1,48 @@ +--- +meta: + title: Hacktoberfest Initiative + description: An event where we encourage and support our members in contributing to and maintaining open source during Hacktoberfest. +hero: + Hero: UndrawPumpkin +tags: [memberresources] +order: 8 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; + + + + + +Do you know that Virtual Coffee is also open source? That's one of the reasons we participate in [DigitalOcean's Hacktoberfest](https://hacktoberfest.digitalocean.com) through our Hacktoberfest Initiative! + + + + + +## Table of Contents + + + +--- + +## What Is Hacktoberfest? + +Hacktoberfest is a month-long virtual event that encourages and supports open source contributions. Open Source Software (OSS) is a codebase that the public can view, contribute to, and use. Sponsored by DigitalOcean, a contributor can qualify for the official Hacktoberfest swag by registering and making four pull requests (PRs) between October 1-31. + +## What Is Hacktoberfest Initiative? + +During Hacktoberfest in October, we help and support our members to contribute to and/or maintain open source repositories. + +Our plan is to harness the power in our community to help developers become excited to contribute to Open Source Software (OSS) and some of our favorite open source repositories along the way. + +## How It Works + +Before October, we will drop the form and instructions for Hacktoberfest Initiative in some dedicated channels on Slack. + +Because not everyone will need the same level or type of support, we're working to accommodate as many needs as possible. This could include 1:1 mentorship, access to private Slack channels, a group coding session, a review of the project you're using for Hacktoberfest, or [general community support](https://www.youtube.com/watch?v=A8iI2jlsqfs&list=PLh9uT23TA65hH8sfprU1XOvT4NBesokna&ab_channel=VirtualCoffee). We're also here to cheer you on throughout the month, whether on social media, through our events, or Slack. + +For more information, you can read our [Virtual Coffee: Hacktoberfest Initiative](https://hacktoberfest.virtualcoffee.io/) page. + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/index.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/index.mdx new file mode 100644 index 00000000..a71fc349 --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/index.mdx @@ -0,0 +1,37 @@ +--- +meta: + title: Guides to Virtual Coffee + description: A collection of guides for current members to get the most out of Virtual Coffee. +hero: + Hero: UndrawProductTeardown +tags: + - memberresources + - memberresourcesIndex +order: 2 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import FileIndex from '~/components/content/FileIndex'; + + + + + +Onboarding processes can be confusing. This is just as true for software as it is for communities! + +We get many questions such as "I have some questions or ideas. How and where should I ask this?" "Do we have a channel for {'{'}something{'}'}?" "How do I find a channel in Slack?" "I would like to help. How do I volunteer?" And many more! + +We hear you! That's why we provide the **Guides to Virtual Coffee** as a user guide for you to get the most out of our community! + + + + + + + +## Guides Available: + + + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/keeping-up-with-virtual-coffee.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/keeping-up-with-virtual-coffee.mdx new file mode 100644 index 00000000..78b5da2d --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/keeping-up-with-virtual-coffee.mdx @@ -0,0 +1,51 @@ +--- +meta: + title: Keeping Up with Virtual Coffee + description: Ways to keep up with Virtual Coffee. +hero: + Hero: UndrawSocialUser +tags: [memberresources] +order: 10 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +This article provides ways to keep up with Virtual Coffee. Make sure to follow us so you won't miss a thing! + + + + + +## Table of Contents + + + +--- + +## Podcast + +We interview our community members to learn more about their stories, who they are, how they found Virtual Coffee, and how that influences their lives as developers. + +You can subscribe and listen to our backlog of episodes on the Virtual Coffee Podcast page. + +## Newsletter + +Every month we publish a newsletter for our members to keep up with Virtual Coffee. Our newsletter includes upcoming Virtual Coffee events, exciting things our members are doing, and more. + +You can subscribe to or read the newsletter on the Virtual Coffee Newsletter page. + +## [Twitter](https://twitter.com/VirtualCoffeeIO) + +We are [@VirtualCoffeeIO on Twitter](https://twitter.com/VirtualCoffeeIO) and have a Twitter chat we drop off every Friday at 9:00 AM ET! Come chat with us! + +## [YouTube](https://www.youtube.com/channel/UCc0579aGEy7jTAgRglR4J0g) + +We post event recordings and other resources on our [YouTube channel](https://www.youtube.com/channel/UCc0579aGEy7jTAgRglR4J0g). + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/lightning-talk.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/lightning-talk.mdx new file mode 100644 index 00000000..1978fae7 --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/lightning-talk.mdx @@ -0,0 +1,47 @@ +--- +meta: + title: Lightning Talk + description: Short tech-related presentation from members to members. +hero: + Hero: UndrawConference +tags: [memberresources] +order: 7 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; + + + + + +Occasionally, we hold Lightning Talk sessions. Virtual Coffee's Lightning Talk is a great way to try your hand at public speaking in a supportive and safe place! + + + + + +## Table of Contents + + + +--- + +## How It Works + +During our Lightning Talks event, a group of members takes turn presenting their 5-20 minute talk. Our Maintainers will share a Call for Proposals in the Virtual Coffee Slack about one month before the event. Nervous about submitting a talk? We've got your back! We always provide mentorship for those who want it. + + + + + +## Where Can I Find Past Lightning Talk Sessions? + +Do check these playlists on YouTube: + +- [Lightning Talks 2023](https://youtube.com/playlist?list=PLh9uT23TA65jtVEGgWo-DNVAcq7PnDV2r) +- [Lightning Talks 2022](https://youtube.com/playlist?list=PLh9uT23TA65gwNgoeeZ21XWlxLOwxs3Ls) +- [Lightning Talks 2021](https://youtube.com/playlist?list=PLh9uT23TA65infGqUUaVibI0IssI0G6NY) +- [Lightning Talks 2020](https://www.youtube.com/watch?v=MMabY-Cm_V4) + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/lunch-and-learns.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/lunch-and-learns.mdx new file mode 100644 index 00000000..33d93ce9 --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/lunch-and-learns.mdx @@ -0,0 +1,55 @@ +--- +meta: + title: Lunch & Learns + description: Share your thoughts and ideas with a small audience of friends! +hero: + Hero: UndrawPresentation +tags: [memberresources] +order: 6 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +Lunch & Learn talks are usually hour-long sessions on one topic. It can be a traditional conference-style talk, panel discussion, question and answer, a combination, or anything else you can think of! + + + + + +## Table of Contents + + + +--- + +## What Is a Lunch & Learn? + +A Lunch & Learn is a speaking opportunity for anyone in the community. If you want to talk about something, we have members willing to listen and ask questions. No public speaking experience is required. You don't have to be an expert (if there is such a thing), and you don't need to worry about whether or not your talk will be accepted. We're here to support everyone where they are in their public speaking journey. + +This is also a great opportunity to connect with other community members as you share what you know. There are different options for speaking that you can check out on our submission form. Our Lunch & Learns Moderator will support you through the process and help you feel comfortable. If you have questions or concerns, don't hesitate to reach out! + + + + + +## Where Can I Find Past Lunch & Learns? + +On our [Lunch & Learn YouTube Playlist](https://www.youtube.com/playlist?list=PLh9uT23TA65idCyc_orC85RefgY_-fKsG), of course! + + + + + +## I Want to Get Involved! What's Next? + +Have an idea you want to share through Lunch & Learn? Submit it on our Lunch & Learn Idea Form! + +Already a Virtual Coffee member and want to get involved and support our Lunch & Learns? We're happy to have your help! The open roles are in the Department: Virtual Coffee Lunch & Learns section. If you found the role you're interested in, fill out the form, and we'll reach out to you soon! + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/monthly-challenges.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/monthly-challenges.mdx new file mode 100644 index 00000000..da03e1eb --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/monthly-challenges.mdx @@ -0,0 +1,51 @@ +--- +meta: + title: Monthly Challenges + description: A challenge every month for our members to complete together. +hero: + Hero: UndrawGoodTeam +tags: [memberresources] +order: 5 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +We hold monthly challenges that we encourage our members to participate in! + + + + + +## Table of Contents + + + +--- + +## What Are Monthly Challenges? + +Every month, we create a challenge to provide members the opportunity to learn, grow, and receive support and mentorship. Each month's challenge will have a theme and weekly goals for the members to work on. Our Monthly Challenge Team Leads and Maintainers plan, organize, and facilitate these challenges. Go to the Virtual Coffee Monthly Challenges page to see our challenges. + + + + + +## How It Works + +At the end of the month, there will be an announcement on what we will do for the upcoming monthly challenge. Instructions, resources, and additional help for the challenges are provided in the `#monthly-challenge` channel in Slack. + + + + + +## Who Can Participate? + +These challenges are available to all Virtual Coffee members! + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/slack-channels-guide.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/slack-channels-guide.mdx new file mode 100644 index 00000000..fa3c940d --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/slack-channels-guide.mdx @@ -0,0 +1,383 @@ +--- +meta: + title: Virtual Coffee Slack Channels Guide + description: List of channels in our community's Slack. +hero: + Hero: UndrawQuickChat +tags: [memberresources] +order: 3 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +We provide you here with the complete list of our Slack channels—in alphabetical order—and the purpose of each channel! Don't forget to check the bookmarks and pinned messages on the top of each channel, if any, to find helpful links and resources. + +If you need to familiarize yourself with Slack, visit our Tips Around Slack section. + + + + + +## Table of Contents + + + +--- + +## A + +### #accessibility + +This channel is all about questions, comments, tips, and resources related to accessibility. + +### #add-new-channel + +Do you have an idea to add a new channel in Slack? You can discuss it on this channel. + +We also post announcements on this channel when new channels are added. + +### #announcements + +The purpose of this channel is to announce anything related to Virtual Coffee, such as the release of new podcast episodes, newsletters, Virtual Coffee events schedules, reminders, etc. + +Check it out regularly so you won't miss our community announcements and events! + +#### 🔁 Regular Bot Announcements + +- Events of the week: Mondays at 8 AM ET. +- Events of the day: On the day of the event at 8 AM ET. + +#### ✅ Joining Events + +See the "✅ Joining Events" section in #vc-events. + +### #articles-and-resources + +Do you want to share useful tech/non-tech articles and resources? You can drop them here! + +## B + +### #big-energy + +This is a channel that has such big energy! Drop by here if you want to give/get that motivation and big energy for/from others! 🔥 + +### #book-club + +If you love reading, this channel is what you’re looking for. The channel for book lovers and book discussions! + +This channel has weekly discussion questions, a reading schedule, and a live group discussion at the end of the book. Head over to the channel's description for the book of the month and the reading schedule. + +## C + +### #career-advice + +Drop them in this channel when you have questions or thoughts on career life—including company culture, navigating red tape, onboarding, etc.! + +### #career-management + +The channel for managers to talk about management issues, share articles, and ask for advice and tips about management. + +### #co-working-room + +Do you want to work or learn with people around you or want to hang out with other members? This channel is linked to Zoom and is always open 24/7! + +#### ✅ Joining a Co-Working Session + +In this channel, click the green button to start a new session or join the ongoing session. It will direct you to our Zoom. + +### #coffee + +If you are a coffee lover, this channel is for you because it’s all about COFFEE! Beans, beans, beans, the magical fruit! + +### #community-questions + +Have questions about Virtual Coffee? What do we do? What we're up to? Tools we use and how to utilize them? Or do you have some ideas for the community that you would share? Drop them here for the community to answer! + +### #consulting-and-freelancing + +This channel is to discuss business aspects of consulting and get support on client issues. + +### #content-creation + +Do you want some feedback or have any questions about your content? Do you want to share your work with other members? This is the channel that you're looking for! + +It's also a place to organize and announce Virtual Coffee content-creation meet-ups. + +We also have the link to a form in the channel's description that you can fill out if you want us to share your content on our Twitter. + +### #cybersecurity + +Do you want to discuss or ask about all things related to cybersecurity? Then you are on the right channel! + +## D + +### #dev-backend + +Do you want to discuss anything about backend development? This is the right channel to go to! + +### #dev-code-challenges + +Are you doing Exercism, CodeWars, LeetCode, or another code challenge? This channel is perfect for flexing your skills or asking for help! + +### #dev-devops-and-cloud + +Ask your questions or discuss anything related to DevOps and Cloud development in this channel! + +### #dev-frontend + +Drop by here for all questions, discussions, articles, and everything frontend. From bundlers to MDN! + +### #dev-fullstack + +Do you want to discuss or have any questions about full-stack? Then you're looking at the right channel! + +### #dev-ml-data-ai + +Anything about machine learning (ML), statistics, linguistics, and AI is happening in this channel. + +### #dev-vue-crew + +The channel to discuss and learn everything about VueJS. + +### #dev-wordpress + +The place to discuss all things WordPress! + +### #devrel + +A channel for all things Developer Relations! Contents, travel, community, and more! + +## E + +### #entertainment + +The floodgates are open to discuss all of our beloved entertainment. Music, TV shows, movies, manga/anime, comics, Marvel, etc. As always, the Code of Conduct applies. No NSFW content. + +### #external-events + +Do you know some non-VC-affiliated tech events and want to share them with us? Drop them here! + +## F + +### #food + +Do you want to share delicious foods you know, your Instagram-like (or not) food pics, or ask and share recipes? We welcome all foodies here! + +### #foreign-languages-and-culture + +This channel covers all languages, including English. In addition, use this as a space to share different aspects of your various cultures, like regional holidays, family traditions, and anything you find interesting or fun! + +## G + +### #game-night + +Want to game with other Virtual Coffee members? Look no further! It can be anything from a fun website, Catan Online, or even something on Steam. + +### #game-result + +Did you nail the latest Noodle, Wordle, Hurdle, or Zoodle?!? Go you! 🎉 Share those results here, threading conversations as appropriate. + +### #general + +This is a place to post anything related to tech in general and extensions of Virtual Coffee's conversations. + +#### 🔁 Regular Posts in This Channel + +- Notes from weekly Coffees +- Wednesday’s midweek check-in +- Friday’s gratitude + +### #goals-and-wins + +Share your goals for the week and celebrate your wins in this channel! + +### #gratitude + +A channel dedicated to shoutouts & kind words. Spread the love 💖! + +## H + +### #happiness + +Just a place to post things, ANYTHING, that makes you happy! + +### #health-and-fitness + +Because we also need to think of our health! This channel is a place to share anything related to health and sports/workouts that you do. + +### #heavy + +It's a safe place to share anything heavy without judgment. Ask for support or advice, or know you're being heard 💙. + +### #help-and-pairing + +Do you have any questions about your code? Or do you need someone to help you by pairing? You can ask for it here! + +This channel is not limited to throwing questions or asking for help with code. You can also ask for general opinions about your project, ask for resources, help fill out surveys, or any other tech-related help without judgment! + +The list of members' office hours and the guide to asking questions about your code are pinned in this channel. + +### #humor + +Share those memes, jokes, and laughter with us here! This channel is for humor that embraces the Virtual Coffee Code of Conduct, like 999%. + +## I + +### #i-love-pets + +Pet parents and pet lovers united! Share those cute pet pictures here! + +### #i-love-plants + +A place for plant parents to trade tips or those that merely respect plants to hang out and take it all in. + +### #indie-startup-hackers + +The channel for indie hackers, startups, bootstrappers, and side projects. + +## J + +### #job-hunt + +The place for your job hunt and our support for good work in tech. + +Virtual Coffee Maintainers do not vet external job postings. Still, posts and interactions in the Virtual Coffee space should adhere to our Code of Conduct. + +## L + +### #learning-together + +What are you learning? Share your progress! What do you want to learn? Look for a study buddy! + +### #lgbtq-plus + +A compassionate channel where people can feel comfortable expressing their gender and sexual identities and discussing issues in the space. + +## M + +### #making-stuff + +A place to share things you make! Hobbies, crafts, costumes, woodworking, or anything else in real life! + +### #mental-health + +A place to share status, approaches, and intentional listening. Anything that helps us take care of our mental health. + +### #moms-in-tech + +A channel where moms-in-tech share their feelings, experiences, and frustrations and get support from other moms. + +### #monthly-challenge + +The channel to check-in and keep each other informed on our progress in monthly challenges. + +You can find the theme of the month's challenge in the channel's description. + +## N + +### #neurodiverse + +Neurodiversity refers to differences in socialization, learning, attention, mood, etc. This is a safe space to discuss these issues. Still, we recognize that neurodiversity is a topic we must approach with nuance, empathy, and open-mindedness. + +## O + +### #open-source + +A place to discuss ways to create, contribute to, and maintain open-source projects. We also drop issues from our repositories we need help with in this channel. + +### #overheard-quotes + +Do you want to share good or funny quotes from our members or others? Drop them in this channel! + +## P + +### #parenting + +Some of us are parents, and we need support from each other too! You can find it on this channel. + +### #past-midnight + +The perfect channel for insomniacs! + +### #politics + +A space that is dedicated to discussing anything about politics. + +### #public-speaking + +The channel to discuss, share information, and learn together about public speaking. + +## R + +### #random + +Do you want to share something completely random? +Or do you want to share or ask something, but you're unsure where to drop it? +You can always drop it on this channel! + +We encourage you to use this channel whenever you need help finding where to post your thread. +Our Maintainers and/or members will repost it to the suitable channel(s) for more exposure. + +### #region-europe + +A channel for members in the European region. + +## S + +### #sportsball + +Do you like football, soccer, basketball, or any other sports ball? This channel is dedicated to you, sports ball fans! + +## T + +### #tech-interview-study-group + +Need some feedback on your resume? Have a question about the tech interview process? Need help studying for technical interviews? This channel is a great resource. + +This group is made for Virtual Coffee members who may need help studying for technical interviews to come together, ask questions, run study sessions, and generally help each other interview and get the job! + +Check the valuable resources in the channel, and feel free to join the Coffee Table Group! + +### #tech-products + +List your favorite software, learning resources, and equipment—all your tech go-to’s! Also, highlight deals/sales and ask for recommendations here. + +### #tech-reminisce + +A place to go to talk about tech history. + +## V + +### #vc-events + +This channel is for announcements and discussion of official Virtual Coffee and member-led events open to Virtual Coffee members. + +#### 🔁 Regular Bot Announcements + +- Event starting soon: 10 minutes before the event start, along with the link to join the event. + +#### ✅ Joining Events + +The announcement to join an event is dropped 10 minutes before the event. Click the "Join event" button, then you will be directed to the Zoom of the event. + +## W + +### #web3 + +Discussing and learning about Web3 and the changes coming to the internet from blockchain technology. Topics include Crypto/NFTs, DAOs, Decentralized Technology, and Non-Crypto Blockchain use cases. + +### #welcome + +Welcome to the Virtual Coffee Slack party! 👋 + +Please introduce your awesome selves on this channel. We would like to know you better! 😄 + +And now you can add your profile to the Members Page on our website! The link to the issue on GitHub is at the bookmark at the top of the channel. + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/what-to-expect-in-virtual-coffee.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/what-to-expect-in-virtual-coffee.mdx new file mode 100644 index 00000000..4461b92f --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/guides-to-virtual-coffee/what-to-expect-in-virtual-coffee.mdx @@ -0,0 +1,278 @@ +--- +meta: + title: What to Expect in Virtual Coffee + description: How to get the most out of all that Virtual Coffee has to offer. +hero: + Hero: UndrawRemoteMeeting +tags: [memberresources] +order: 2 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +We get many questions like "What to expect once we join Virtual Coffee?" "Where's the link to today's Coffee?" "How to join a Virtual Coffee event?" This article serves as a guide to answer these questions! + + + + + +## Table of Contents + + + +--- + +## Coffees (Virtual Coffee Weekly Zoom Chats) + + + +We have Coffee on **Tuesdays at 9:00 AM ET** and **Thursdays at 12:00 PM ET** that last an hour. This is a good place and time to meet and get to know other members, old and new, through casual conversations. + + + +### How It Works + +After some pre-coffee chatter, our MC will make an intro with some background and important announcements while people filter in. Then we'll break the crowd into breakout rooms for more relaxed and intimate conversations. + +When we move to the small group conversations, there will be a Room Leader and Note Taker for the room. They'll explain how we do introductions and how to participate. We value our members and the ways they're most comfortable participating. + +If you're here to listen and chill? No problem! If you can't turn on your camera or aren't comfortable having your camera or even sound on? Feel free to turn them off! There is no obligation for you to have them on. We want you to be as comfortable as possible in our Coffees. + +We drop the schedule in the `#announcement` channel on Slack every Monday and the day of the Coffee. There will also be an announcement to join the Coffee in the `#vc-events` channel 10 minutes before the Coffee start, along with the link to join. + +### Joining Coffees + +- Head over to the `#vc-events` channel on Slack. +- Click the "Join Event" button to join the Coffee. + +Now you will be directed to the Coffee's Zoom. + + + + + +## Co-Working with Other Members + + + +Do you want to work or learn with people around, need help and a pair program, or only want to hang out with other members? [Thanks to **Dan Ott**](https://danott.dev/thoughts/virtual-coffee-coworking), we have a `#co-working-room` channel linked to our Zoom, so our members can connect anytime! It's open 24/7! + + + +### Joining Co-Working Session + +- Head over to the `#co-working-room` channel on Slack. +- Click the green button to be directed to our Zoom room to start a new session or join the ongoing session. + + + + + +## Virtual Coffee Events + + + +Our members voluntarily hold events from members to members, and you're most welcome to join! + + + +### Events List + +- + Coffee Table Groups + +- + Lunch & Learns + +- + Lightning Talk + +- + Monthly Challenges + +- + Hacktoberfest Initiative + + +Every Monday, we drop the week's list of events in the `#announcement` channel on Slack. We also drop the schedule on the day of the events. There will be another announcement to join the events in the `#vc-events` channel 10 minutes before the events start, along with the link to join. + +You can find the complete schedule of the events on the Events page. + +### Joining Events + +- Head over to the `#vc-events` channel on Slack. +- Click the "Join Event" button to join the event—you will be directed to the event's Zoom room. + + + + + +## Virtual Coffee on Slack + + + +Much of Virtual Coffee occurs on Slack. We have channels in our Slack to accommodate our members, and we encourage you to participate in Slack to get the most out of Virtual Coffee! + + + +### Slack Channels + +See our Virtual Coffee Slack Channels Guide for the complete list of our Slack channels. + +And read our tips around Slack in the next section if you need to familiarize yourself with Slack. + +### Tips Around Slack + +#### ➡️ Using Tags + +You can tag members (e.g., `@name`) to notify them about your thread and draw their attention. + +But unless you are a Maintainer or granted permission by a Maintainer, don't use `@here` or `@channel`. +Using these tags will notify everyone in the channel. It might be an afternoon at your time, but that means it's midnight for some members. We want to respect all time zones. + +#### ➡️ One Topic, One Thread + +Keep one topic in one thread. If you need to add more information to your message or you want to reply to a message, do that _in the thread_ and not create a new message to avoid confusion. Doing this will keep the topics and the conversations in the channels easy to follow by other members. + +##### On a Computer + +- Hover over the thread. +- Click the speech bubble emoji. (If you hover over it, a tooltip will say "Reply to thread".) + +##### On a Phone + +- Press on the thread. +- Press where it says "Reply in thread", and start typing. + +Or + +- Long press on the thread. +- Press "Reply in thread", and start typing. + +#### ➡️ Bookmarks and Pinned Messages + +You can check bookmarks and pinned messages on the top of each channel to find important and helpful links or resources around the community. + +#### ➡️ Including Code Snippets in a Message + +When you need to share code snippets in your message, you want to ensure it's well-formatted to make it readable and easy to understand. There are code and code block buttons in the text formatting menu. You can also create this formatting with backticks. + +##### Inline Code + +Use a single backtick (`) to share technical jargon or a one-line code in a sentence. +For example: + +```text +If you use `npm`, run `npm list -g` to see all packages you've installed globally. +``` + +##### Code Block + +Use triple backtick (```) to share a code block. +For example: + +````text +``` +function greetings() { + console.log("Hello there!"); +} +``` +```` + +#### ➡️ View Channels Before Joining + +You can scroll through a channel's conversation to understand what it's all about and if it's for you before clicking the "Join" button. + +#### ➡️ Find and Add a Channel in Slack + +If you want to find and add a channel: + +##### On a Computer + +- Click "More" at the sidebar. +- Click "All channels". +- Find a channel that you want to join. +- Click the "Join" button. + +Or + +- Scroll down to the bottom of the "Channel" tab on the sidebar. +- Click the "Add channels" button. +- Click "Browse channels". +- Find a channel that you want to join. +- Click the "Join" button. + +##### On a Phone + +- Press the "+" button in the "Channels" tab. +- Search in the search bar or scroll down to find a channel. +- Press on the channel. +- Press the "Join Channel" button. + +#### ➡️ Leave a Channel in Slack + +If you decide to leave a channel: + +##### On a Computer + +- Right-click on the channel that you want to leave. +- Click "Leave channel" at the bottom. + +##### On a Phone + +- Long press on the channel that you want to leave. +- Press "Leave Channel" at the bottom. + +#### ➡️ Notifications + +You can choose the notifications you want to receive—all new messages, direct messages, mentions & keywords, or nothing. You can also schedule the time for notifications so they won't bother you during busy or rest time. To do so: + +##### On a Computer + +- Click on your profile picture at the top. +- Click "Notifications". + +##### On a Phone + +- Press the "You" tab at the bottom. +- Press "Notifications". + +Now you can manage the notifications based on your need. + +#### ➡️ Mute Channels + +Do you want to stay in a channel, but it's too noisy? You can mute the channel. + +##### On a Computer + +- Right-click on the channel. +- Click "Mute channel". + +##### On a Phone + +- Long press on the channel. +- Press "Mute channel". + +#### ➡️ Star Channels + +You maybe check on some channels more often than others. And every time, you need to scroll to find it. You can favorite the channels that you regularly go to! + +##### On a Computer + +- Right-click on the channel. +- Click "Star channel". + +##### On a Phone + +- Long press on the channel. +- Press "Star Channel". + +The starred channels will be grouped and moved to the top. + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/index.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/index.mdx new file mode 100644 index 00000000..177381f6 --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/index.mdx @@ -0,0 +1,33 @@ +--- +meta: + title: Virtual Coffee Handbook + description: A collection of guides for current and prospective Virtual Coffee members. +hero: + Hero: UndrawBooks +tags: + - memberresources + - memberresourcesIndex +order: 1 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import FileIndex from '~/components/content/FileIndex'; + + + + + +We created the official **Virtual Coffee Handbook** to give you the best experience and get the most out of Virtual Coffee! Refer to this handbook if you have questions or need to know anything about Virtual Coffee. + + + + + + + +## Guides Available: + + + + diff --git a/app/routes/__frontend/resources/virtual-coffee-handbook/join-virtual-coffee/index.mdx b/app/routes/__frontend/resources/virtual-coffee-handbook/join-virtual-coffee/index.mdx new file mode 100644 index 00000000..4d74e977 --- /dev/null +++ b/app/routes/__frontend/resources/virtual-coffee-handbook/join-virtual-coffee/index.mdx @@ -0,0 +1,115 @@ +--- +meta: + title: Join Virtual Coffee + description: A guide for prospective members to join Virtual Coffee. +hero: + Hero: UndrawJoin +tags: + - memberresources +order: 1 +--- + +import LeadText from '~/components/content/LeadText'; +import TextContainer from '~/components/content/TextContainer'; +import { Link } from '@remix-run/react'; + + + + + +Thank you for being so interested in joining Virtual Coffee! In this article, we're answering the most frequent questions about joining Virtual Coffee! + + + + + +## Table of Contents + + + +--- + +## How can I join Virtual Coffee? + +### 1. Join the waiting list or receive an invite + + + +We are now accepting new members on a limited basis! + + + +If you are interested in joining Virtual Coffee, you can join the waiting list or receive an invite from a current member. Once we've accepted and added you to our membership, you will receive an email with links to our Coffees. + +### 2. Attend one of our Coffees (Virtual Coffee weekly Zoom chats) + + + +You must attend one of our Coffees (Virtual Coffee weekly Zoom chats) on **Tuesday at 9:00 AM ET** or **Thursday at 12:00 PM ET**, which lasts an hour. + + + +We absolutely love the closeness of this community and know it’s one of the many things that sets us apart. This closeness starts with those Coffees. We would also like to give you the experience of Virtual Coffee in person before we move to the Slack group. + +When joining your first Coffee, tell your Room Leader you're a new member. After the Coffee, you'll receive an email with a link to our Slack group and more information. + +### 3. Now you’re a full member! Welcome! 👋 + +You can introduce yourself in the `#welcome` channel and join our members-only events. We would love to know who you are, where you are in your tech journey, and what you enjoy outside of tech! + +--- + +## What is going on in Coffees? + +We’re getting to know other members, old and new, through casual conversations on Zoom. We prioritize empathy, encouraging everyone to participate in the most comfortable ways and learning together. Check out the Coffees (Virtual Coffee Weekly Zoom Chats) section for more details. + +--- + +## Are there any other days and times for Coffee? + +Unfortunately, there isn't. + +--- + +## I’m an introvert. Would it be okay to turn off my camera during Coffee? + +If you aren't comfortable having your camera or sound on, you can always turn them off. You can always use the chat feature. We want you to be as comfortable as possible in our Coffees. + +--- + +## I’m a newbie. Can I still join Virtual Coffee? + +Of course! Our members are at all stages of the journey. Anyone can join, whether you're thinking about getting into tech or have been in it for decades! + +--- + +## I’m not a developer. Can I still join Virtual Coffee? + +Absolutely! If you’re into online communities, and enjoy conversations around tech, then Virtual Coffee is for you! + +--- + +## What will I get when I join Virtual Coffee? + +You can participate in our events, access our Slack, get support and help as needed, get mentorship, and most of all, FRIENDSHIPS! +See the What To Expect In Virtual Coffee page for more insights. + +--- + +## Is there any membership fee? + +No, _nada_! You don’t need to pay any fees to join Virtual Coffee. Our members volunteer their time and support to keep Virtual Coffee running. [Sponsorships](https://github.com/sponsors/Virtual-Coffee) support everything you see on this website and help us continue serving the Virtual Coffee community! + + + + + + + +See you in one of our Coffees! ☕ + +If you have any other questions, email them to our Maintainers at hello@virtualcoffee.io. + + + + diff --git a/app/routes/__frontend/resources/virtual-coffee/coding-questions-guide.mdx b/app/routes/__frontend/resources/virtual-coffee/coding-questions-guide.mdx deleted file mode 100644 index e30a4c3f..00000000 --- a/app/routes/__frontend/resources/virtual-coffee/coding-questions-guide.mdx +++ /dev/null @@ -1,162 +0,0 @@ ---- -meta: - title: Guide To Asking Questions About Your Code - description: A guide for our members to ask questions about code. -hero: - Hero: UndrawQuestions -order: 4 ---- - -import LeadText from '~/components/content/LeadText'; -import TextContainer from '~/components/content/TextContainer'; - - - -## Hi friends 👋 - - - -Everybody runs into problems during development that can be frustrating and seem impossible to debug. The most important thing is: _if you need help, ask for help_. - -We provide this guide for you to ask for help effectively in Virtual Coffee. If you're still unsure how to ask for help: _ask anyway_. We've all been there. - - - - - -## Table of Contents - - - ---- - -## How To Ask Questions - -### Before Asking Question - -- Go through your code line by line. - You want to know what your code is doing so you can answer questions. Take some notes if necessary. -- Do some research before asking questions. - You want to avoid asking questions that you can figure out by Googling your problem. You can also improve your skill in finding solutions by Googling yourself. -- Check for some typos. - Sometimes an error arises from a single typo. -- Google the error that you encounter by copy-pasting the error message. - Most of the time, you can find some answers from people who encountered the same error as yours. -- Debug your code. You can check out [Nick Taylor](https://github.com/nickytonline)'s Lunch and Learn sessions below about debugging: - - [Debugging JavaScript and Front-end](https://www.youtube.com/watch?v=I9A0Pifn0Uw) - - Web Dev Debugging Hour — Coming to YouTube soon. - -### When Asking Questions - -#### Getting started - -- A simple "Can someone help me with {'{'}something{'}'}?" is enough to get a conversation started. -- Be specific about what you're looking for. - "Does anyone know why my MongoDB authentication failed?" is better than "My app is crashing." -- For a more general question or when trying to grasp a concept: - "Does anyone have experience with {'{'}something{'}'}?" or "Can someone explain {'{'}something{'}'} to me like I'm five?" is a good starting point. - -#### Asking questions - -- Specified details as much as possible, such as: - - What language, framework, or libraries version are you using when encountering the error? - - What operating system (e.g., Windows, Mac, Linux) and version are you experiencing the problem on? -- Provide relevant code along with your question, if possible. -- Explain the command or steps that you run to reproduce the problem. -- Describe what you have tried to fix the problem. It's okay if you don't know where to start, but share whatever you have already tried/ruled out. -- Read through your question. You want to ensure that your question makes sense and you've included all information needed for other members to help you. - - - - - -## Where to drop questions? - -### Slack - -#### #help-and-pairing - -Ask questions about your code or ask other members' help for pairing in this channel. - -You can also ask for resources, ask opinions about your project, ask for help to fill surveys, or any other support related to tech. - -#### #front-end - -This channel is about everything front-end and asks questions if you have problems with your front-end-related codes. - -#### #accessibility - -This channel is for questions, comments, tips, and answers about a11y for accessibility. - -#### #code-challenges - -Stuck on an algorithm? This is the place for you. - -#### #tech-interview-study-group - -You can always drop your questions about job searching and job interviews to this channel. This group also has a weekly meeting to discuss and learn everything about tech interviews together. - -#### #job-hunt - -This channel is to post any job postings. But, you can also drop your questions regarding job searching on this channel. - -#### #community-questions - -Do you have questions about Virtual Coffee? What do we do? What are we up to? Tools we use and how to utilize them? -Or do you have some ideas for the community that you would share? - -You can drop those Virtual Coffee’s related questions here for the community to answer. - -#### #random - -If you are still unsure where to ask questions, you can ask them here. Some members will crosspost your question to the appropriate channel for better exposure. - -Do check our complete list of channels in the [Slack channel guide](/resources/virtual-coffee/slack-channel-guide/). - -### GitHub - -#### Discussion board - -Do check out our [discussion board on GitHub](https://github.com/Virtual-Coffee/virtualcoffee.io/discussions) 😄! You can use it whenever you have questions or want to throw ideas around Virtual Coffee or anything else. - - - - - -## How To Utilize Slack For Asking Questions - -- Unless you are a maintainer or granted permission by a maintainer, you want to avoid using `@here` or `@channel`. - Using these tags will notify everyone in the channel. It might be an afternoon at your time, but it is midnight in some parts of the world. And we want to respect our members. We are a very active community. Someone will answer you as soon as possible. -- When you are answering questions, make sure to reply in the thread. - By keeping one topic in one thread, we can prevent confusion. -- Use a single backtick (`) to share technical jargon or a one-line code in a sentence. - For example: - - ```text - Can I skip the `h2` to `h3`? - ``` - -- Use triple backtick (```) to share a code block and keep a clean format. - For example: - - ```` - ``` - function greetings() { - console.log("Hello there!"); - } - ``` - ```` - - - - - -Special thanks to [David Alpert](https://github.com/davidalpert), [Jonathan Yeong](https://github.com/jonathanyeong), [Dan Ott](https://github.com/danieltott), [Abbey Perini](https://github.com/abbeyperini), [Mark Noonan](https://github.com/marktnoonan), [Travis Martin](https://github.com/LincolnFleet), and [Claire Martinez](https://github.com/Claire) for throwing ideas and making this guide possible! 💙 - -### Additional Resources - -- [How to be great at asking coding questions](https://medium.com/@gordon_zhu/how-to-be-great-at-asking-questions-e37be04d0603) -- [Stack Overflow Question Checklist](https://codeblog.jonskeet.uk/2012/11/24/stack-overflow-question-checklist/) -- [How do I ask a good question?](https://stackoverflow.com/help/how-to-ask) - - diff --git a/app/routes/__frontend/resources/virtual-coffee/get-involved/coffee-table-groups.mdx b/app/routes/__frontend/resources/virtual-coffee/get-involved/coffee-table-groups.mdx deleted file mode 100644 index 6359e338..00000000 --- a/app/routes/__frontend/resources/virtual-coffee/get-involved/coffee-table-groups.mdx +++ /dev/null @@ -1,82 +0,0 @@ ---- -meta: - title: Leading a Coffee Table Group - description: This document outlines what is expected of a Coffee Table Group, and how a member can start a new one. -hero: - Hero: UndrawConversation -tags: [memberresources] -order: 2 ---- - -import LeadText from '~/components/content/LeadText'; -import TextContainer from '~/components/content/TextContainer'; - - - - - -Our Coffee Table Groups have been one of the most popular and valuable features for members of our community. Coffee Table Groups are small, special interest groups created and run by members. They can involve Zoom meetings, async slack hangouts, or anything else that the members would like to do. - - - - - -## Table of Contents - - - ---- - -## Coffee Table Group Definition - -A group with a common interest who would like to cultivate it through more intimate and scheduled conversation. Member-led, developed, and driven for other VC members. Coffee Table Groups adhere to the [Virtual Coffee Code of Conduct](https://virtualcoffee.io/code-of-conduct) and hold community feedback in the highest regard. The result is a meetup with a smaller group that will implement suggestions. Because these groups are part of the VC community, there may be industry veterans in attendance, willing to engage and connect, or the leader may encourage attendees to speak with specific VC members per topic of conversation. - -## Coffee Table Group Leader Definition - -A Coffee Table Group Leader creates a space and context for conversation. Current leaders describe the role as a [Virtual Coffee Room Leader](https://virtualcoffee.io/resources/virtual-coffee/get-involved/paths-to-leadership#virtual-coffee-room-leader), but with a content focus. A Leader hosts events on a consistent schedule, comes up with topics to discuss for each event, and encourages attendess. They also set expectations for attendees via clear communication about scheduling and giving new members context when they join. - -## Guidelines - -- If using the VC-events CMS, have 1-2 group leaders willing to schedule and communicate with VC maintainers -- Adherence to the [Code of Conduct](https://virtualcoffee.io/code-of-conduct) -- Use the [COC violation form](https://virtualcoffee.io/report-coc-violation/) rather than trying to take care of Code of Conduct violations yourself. -- Clearly relate any guidelines or requirements to members of your group. For example let them know if they must commit to leading a session, have a specific experience level, etc. - -## Benefits - -- Zoom rooms hosted by Virtual Coffee -- Events appear in announcements and on the [Virtual Coffee events page](https://virtualcoffee.io/events) -- Reminders during Coffees and other official events - -## Starting a new Coffee Table Group - -If you'd like to start a new Coffee Table Group, go ahead and fill out our [Coffee Table Group Application](/start-coffee-table-group)! - -## Best practices - -Each Coffee Table Group will have its own approach and personality, but it's important to create an environment where your group members feel supported and know what to expect. Here are some tips to help establish a healthy group: - -### Group Format - -- Determine the schedule, type, and format for your group -- Will you meet weekly, monthly, or some other way? -- Will it always be a synchronous meeting? -- Will you have async check-ins in between meetings? - -### Expectations - -- What type of meeting is it (Q&A, presentation, small group convo, pair programming, interactive, etc.)? -- Is there material that needs to be covered? -- Will members be asked to lead a session? -- Are other volunteers or co-leads needed? -- Are there expectations for communication among the group members? Where will you be communicating? (slack channel, only in zoom, etc.). -- Are there expectations for communicating in a video chat (for example, using the hand raise function, doing an intro, etc.)? -- Please provide the following links in video meetings: - - Code of Conduct: https://virtualcoffee.io/code-of-conduct/ - - COC Violation Form: https://virtualcoffee.io/report-coc-violation/ - -### Ending a Group - -If your group is an ongoing group, you may find that you don't have the time or energy to continue hosting. That's ok. It's really important that all volunteers (and leading a coffee table group is definitely an act of volunteering) know that it is always okay to prioritize their mental and physical health. Rather than discontinuing the group by not scheduling a new one, see if anyone in the group or the larger VC community is willing to take on the responsibility. Communicate with your Coffee Table Group about the need for a new host. If you're unable to do so, let the maintainers know. - - diff --git a/app/routes/__frontend/resources/virtual-coffee/get-involved/index.mdx b/app/routes/__frontend/resources/virtual-coffee/get-involved/index.mdx deleted file mode 100644 index ae054cd5..00000000 --- a/app/routes/__frontend/resources/virtual-coffee/get-involved/index.mdx +++ /dev/null @@ -1,24 +0,0 @@ ---- -meta: - title: Get Involved - description: Paths to Leadership and Volunteering at Virtual Coffee -hero: - Hero: UndrawProductTeardown -tags: - - memberresources - - memberresourcesIndex -order: 1 ---- - -import TextContainer from '~/components/content/TextContainer'; -import FileIndex from '~/components/content/FileIndex'; - - - -## Get Involved! - -Our community values creating opportunities for learning, leadership, and contribution for everyone. Here are some of the ways you can get involved: - - - - diff --git a/app/routes/__frontend/resources/virtual-coffee/get-involved/lunch-and-learns.mdx b/app/routes/__frontend/resources/virtual-coffee/get-involved/lunch-and-learns.mdx deleted file mode 100644 index db7f587f..00000000 --- a/app/routes/__frontend/resources/virtual-coffee/get-involved/lunch-and-learns.mdx +++ /dev/null @@ -1,45 +0,0 @@ ---- -meta: - title: Lunch and Learns - description: Share your thoughts and ideas with a small audience of friends! -hero: - Hero: UndrawPresentation -tags: [memberresources] -order: 3 ---- - -import LeadText from '~/components/content/LeadText'; -import TextContainer from '~/components/content/TextContainer'; - - - - - -Lunch & Learn talks are usually hour-long sessions on one topic. It can be a traditional conference-style talk, panel discussion, question and answer, a combination, or anything else you can think of! - - - - - -## Table of Contents - - - ---- - -## What is a Lunch & Learn? - -Lunch & Learns are a speaking opportunity for anyone in the community. If you have something you want to talk about that the Virtual Coffee Community finds interesting, we have members who are willing to listen and ask questions. You don't have to have given a talk before, you don't have to be an expert--if there even is such a thing--and you don't need to worry about whether or not your talk will be accepted. We're here to support everyone where they are in the speaking experience. - -This is also a great opportunity to connect with other community members as you share what you know. There are different options for speaking that you can check out on our submission form. Our Moderator will be sure to support you and to help you feel comfortable through the process. So if you have questions or needs reach out and ask. - -## Where can I find past Lunch & Learns? - -On our [Lunch & Learn YouTube Playlist](https://www.youtube.com/playlist?list=PLh9uT23TA65idCyc_orC85RefgY_-fKsG), of course! - -## I want to get involved! What's next? - -Have an idea you want to share? Submit your idea on our [Lunch & Learn Idea Form](/lunch-and-learn-idea)! -Already a Virtual Coffee member and want to get involved and support our Lunch & Learns? We're happy to have your help. Fill out [our volunteer form](https://virtualcoffee.io/resources/virtual-coffee/get-involved/paths-to-leadership#department-virtual-coffee-lunch-and-learns) and we'll reach out to you soon! - - diff --git a/app/routes/__frontend/resources/virtual-coffee/get-involved/paths-to-leadership.mdx b/app/routes/__frontend/resources/virtual-coffee/get-involved/paths-to-leadership.mdx deleted file mode 100644 index 2aeb9457..00000000 --- a/app/routes/__frontend/resources/virtual-coffee/get-involved/paths-to-leadership.mdx +++ /dev/null @@ -1,406 +0,0 @@ ---- -meta: - title: Paths to Leadership & Roles - description: Supporting our members as they support each other. -hero: - Hero: UndrawPowerful -tags: [memberresources] -order: 1 ---- - -import LeadText from '~/components/content/LeadText'; -import TextContainer from '~/components/content/TextContainer'; -import { Link } from '@remix-run/react'; - - - - - -Part of Virtual Coffee's mission is to make safe, supportive spaces for pursuing leadership and roles in community building. We currently have a few initiatives where we'd love to have more volunteers in helping make this community great! - -If you find a role or position that you'd be interested in, please [fill out our Volunteer form](/volunteer-at-virtual-coffee) and let us know! - - - - - -## Table of Contents - - - ---- - -## Department: Virtual Coffee Chat/Zoom Chat - -Our Virtual Coffee Chats (or Coffees) are our most important and visible event. We try as much as possible to be consistent and organized in running these and the volunteer team are a massive part of that! - -### Virtual Coffee Room Leader - -#### Role Department: - -Virtual Coffee Chat/Zoom Chat - -#### Role Purpose: - -Facilitating a Virtual Coffee chat breakout room. The role essentially moderates the conversations that happen once attendees are put into small groups for intimate conversations. - -#### Role Duties and Responsibilities: - -- Moderate the breakout room conversations -- Guide the conversation through appropriate topics -- Foster an inclusive environment where members feel comfortable sharing - -#### Role Qualifications: - -- Attended at least 10 coffees -- Reviewed the official Room Leader documentation -- Co-led at least 3 times with another Room Leader -- Approved by existing Room Leader in good standing - -#### Role Benefits: - -- Public speaking practice -- Practicing empathetic communication -- Moderation practice - -#### Working Conditions: - -- Approximately ~2 hours per week -- Primarily during Virtual Coffee chats - - - Apply Now! - - -### Virtual Coffee Note Taker - -#### Role Department: - -Virtual Coffee Chat/Zoom Chat - -#### Role Purpose: - -This role gives members a chance to review the conversations that take place during Virtual coffee events. - -#### Role Duties and Responsibilities: - -- Recording the responses to icebreaker questions in the VC breakout rooms -- Creating synopses of the conversations that happen in the rooms -- Noting any resources attendees share that may be useful to others -- Organizing those notes into a clear and readable format -- Sharing your notes in the Slack after the meeting is complete - -#### Role Qualifications: - -- Attended at least 4 coffees -- Reviewed the official Note Taker documentation - -#### Role Benefits: - -- Active listening practice -- Efficient summarization skils - -#### Working Conditions: - -- Approximately ~3 hours per week -- Primarily during Virtual Coffee chats - - - Apply Now! - - -### Coffee Coordinator - -#### Role Department: - -Virtual Coffee Chat/Zoom Chat - -#### Role Purpose: - -This role is vital to ensuring the smooth operation of the Coffee Zoom chats. They are responsible for managing both the technical aspects of the zoom and breakout rooms as well as coordinating the coffee chat volunteers before and during a virtual coffee chat event. - -#### Role Duties and Responsibilities: - -- At least 12 - 24 hours prior to the next coffee event, if an individual is coordinating that event, they must release create the breakdown of relevant details for that event, including: - - What is the icebreaker question for that chat? - - What is the backup topic for that chat? - - Who are the room leaders and note takers for the session, chosen based on volunteer responses to availiability? -- Right before events, the Coordinator may make micro-adjustments to those room plans -- During the zoom, the Coordinator creates the rooms and assigns leaders and notetakers as defined by the schedule -- They assign all zoom participants to their rooms -- They announce the return to the main room and close the breakouts at the end of the conversation -- They end the Zoom - -#### Role Qualifications: - -- Active in the community & member in good standing -- Reviewed the official Room Coordinator documentation -- Must have been a Coffee Chat Room Leader or Note Taker for at least a month -- Prepared to undergo an apprenticeship period where they coordinate at least two times under the supervision of an existing Room Coordinator -- Prepared to demonstrate they understand the nuances of creating rooms based on different community member personas - -#### Role Benefits: - -- Practice with Zoom meeting controls -- Training in coordinating groups of volunteers - -#### Working Conditions: - -- Total volunteer time is ~5 hours a week -- Availability 30 minutes prior to, and for the entire duration of, a VC coffee chat -- Availability to release volunteer schedule at least 12-24 hours before coffee chat - - - Apply Now! - - -### Virtual Coffee Chat MC - -#### Role Department: - -Virtual Coffee Chat/Zoom Chat - -#### Role Purpose: - -Master of Ceremonies/main speaker for a Virtual Coffee chat. This role is the "face" of the chat, and the primary speaker for the event. - -#### Role Duties and Responsibilities: - -- The MC puts together notes on All VC activities that would be relevant for that week's announcements, spanning all events and operations -- Delivering the opening welcome -- Explaining the format of the event, how to use the code of conduct, and external resources -- Giving the Coordinator enough time to configure the breakout rooms -- Delivering final announcements -- Sending off all attendees - -#### Role Qualifications: - -- Been a Room Leader for at least 3 months -- Led a room at least 10 times -- Recommendation by an existing MC -- Approval by a maintainer - -#### Role Benefits: - -- A safe space to practice public speaking - -#### Working Conditions: - -- Approximately 3 hours per week -- Mainly required during the actual coffee events themselves - - - Apply Now! - - -## Department: Virtual Coffee Lunch and Learns - -Lunch and Learns are the primary avenue for VC members to share information with other members and a great opportunity for members to build skills in public speaking, and technical presentation. There's a lot that needs to be done to make sure our members are supported on every step of the speaking journey. - -### Lunch & Learn Hype Person - -#### Role Department: - -Virtual Coffee Lunch and Learns - -#### Role Description: - -- Ensures the community is aware of upcoming Lunch & Learn events - -#### Role Duties and Responsibilities: - -- Gathers community interest for lunch & learn topics/speakers -- Sources/encourages community members to submit lunch & learns -- Gathers community interest in various lunch & learn platforms -- Assists lunch & learn speakers with form submission, event description writing, topic formulation, etc - -#### Role Requirements: - -- Active in the community and a member in good standing - -#### Working Conditions: - -- Approximately 2 - 3 hours per week -- Work is done primarily in VC Slack - - - Apply Now! - - -### Lunch & Learn Coordinator - -#### Role Department: - -Virtual Coffee Lunch and Learns - -#### Current Coordinator - -A special thank you to Shelley McHardy for her work as our Lunch & Learn Coordinator. - -#### Role Description: - -- Manages the overall organization of Lunch and Learns, from submission to final presentation. - -#### Role Duties and Responsibilities: - -- Reviews lunch & learn submissions and acknowledges their receipt -- Ensures event description is clear, asks clarifying questions if necessary -- Coordinates lunch & learn scheduling on VC calendar -- Coordinates host availability -- Checks in with lunch & learn speakers and hosts in weeks leading up to the event to confirm readiness/speaker and/or availability -- Ensures speaker bio is up to date for the lunch & learn -- Acts as a point person for lunch & learn hosts - -#### Role Requirements: - -- Active in the community and a member in good standing -- Previously attended a Lunch & Learn session - -#### Working Conditions: - -- Approximately 3 - 4 hours per week -- Work in VC Github repo, CMS and Slack - -### Lunch & Learn Host - -#### Role Purpose: The Lunch and Learn host is the MC for a Lunch and Learn event and supports the presenter and viewers in having an enjoyable event. - -#### Role Duties and Responsibilities: - -- Facilitates Lunch & Learn events via designated platforms (Zoom, Twitter Spaces, etc) -- Moderates Lunch & Learn chat, Q&A, and other portions of the event as required -- Ensures the VC Code of Conduct is followed -- Ensures the event is recorded to the cloud for later processing by our AV team -- Facilitates any speaker AV checks/tests as needed - -#### Role Benefits: - -- Public Speaking practice and training -- Moderation practice - -#### Role Requirements: - -- Active in the community & member in good standing -- Comfortable and proficient in the event’s designated platform -- Previously attended 3 to 4 Lunch & Learn sessions -- Bonus: VC-advisor, Coffee Table leader, Coffee MC, Coffee Room Leader, Lunch & Learn coordinator - -#### Working Conditions: - -- Approximately 2 - 3 hours per event -- Takes place primarly in Fridays in Zoom - - - Apply Now! - - -## Department: General Virtual Coffee Operations - -It takes a lot of moving pieces to keep this all coordinated. Operations works behind the scenes to make sure all the other arms of Virtual Coffee are running smoothly, and they take a birds-eye view over our various divisions. - -### Coffee Table Groups Coordinator - -#### Current Coordinator - -A special thank you to Abbey Perini for her work as our Coffee Table Groups Coordinator. - -#### Role Department: - -Virtual Coffee Operations - -#### Role Purpose: - -Our [Coffee Table Groups](./coffee-table-groups) are an important part of our community. The responsibilities of our Coffee Table Groups Coordinator: - -#### Role Duties and Responsibilities: - -- Oversees, observes, and manages the Coffee Table groups -- Ensures all event descriptions are clear and accessible for members -- Checks in with Coffee Table hosts for feedback and to ensure hosts are supported -- Acts as point person for hosts; fielding questions and assisting with onboarding -- Reviews applications for new coffee table groups - -#### Role Benefits: - -- Oppourtunity to learn group organization -- Opportunity to work with several different VC endeavours - -#### Role Qualifications: - -- Virtual Coffee member in good standing -- Member for at least 3 months -- Attended at least 10 coffees - -#### Working Conditions: - -- About 3 - 4 hours per week -- Time is split between communications in Slack and potential Zooms - -### Virtual Coffee Moderator - -#### Role Department: - -General Virtual Coffee Operations - -#### Role Purpose: - -Uphold the tenets of the Code of Conduct in all community spaces. Ensure that member conversations and interactions aren't harming themselves or their fellow community members. - -#### Role Duties and Responsibilities: - -- Monitoring the communication in VC Slack channels -- Stepping in to potentially heated conversations and performing mediation -- Recommending members for further follow up conversations and disciplinary actions -- Reporting incidents to the rest of the moderation team for discussion -- Removing harmful content that violates the Code of Conduct from shared VC spaces -- Temporarily revoking person's access to VC digital spaces where they have caused harm - -#### Role Qualifications: - -- Uphold the Virtual Coffee mission and Code of Conduct -- Be willing to maintain an environment of support and healthy communication in Virtual Coffee spaces -- Investigate any and all potential violations of the Virtual Coffee Code of Conduct -- Mediate in any conflicts involving VC members - -#### Role Benefits: - -- Opportunity to learn and practice Non Violent Communication Techniques to diffuse tense situations - -#### Working Conditions: - -- Approximately 5 - 10 hours per week -- Takes place primarly in Slack but also during our Zoom events, Github, etc - - - Apply Now! - - - diff --git a/app/routes/__frontend/resources/virtual-coffee/guide-to-vc.mdx b/app/routes/__frontend/resources/virtual-coffee/guide-to-vc.mdx deleted file mode 100644 index 13a3112d..00000000 --- a/app/routes/__frontend/resources/virtual-coffee/guide-to-vc.mdx +++ /dev/null @@ -1,291 +0,0 @@ ---- -meta: - title: Guide To Virtual Coffee - description: A user guide for current members to get the most out of Virtual Coffee. -hero: - Hero: UndrawProductTeardown -tags: [memberresources] -order: 2 ---- - -import LeadText from '~/components/content/LeadText'; -import TextContainer from '~/components/content/TextContainer'; -import { Link } from '@remix-run/react'; - - - -## Welcome to Virtual Coffee! 👋 - - - -Onboarding processes can be confusing. This is just as true for software as it is for communities! - -We get many questions such as "I have some questions or ideas; how and where should I ask this," "Do we have a channel for {'{'}something{'}'}'," "How do I find a channel in Slack," "I would like to help, how do I volunteer?" And many more! - -To give you the best experience, and to get the most out of Virtual Coffee, we created the official "Virtual Coffee Guide"! - - - - - -## Table of Contents - - - ---- - -## Code of Conduct - -This is the most important part of Virtual Coffee. We want this community to be a welcoming, inclusive, supportive, and safe place for all our members. - -We pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. - -_We take our Code of Conduct seriously._ You can find a copy of it on our website. - -### I think someone has violated the Code of Conduct. How can I report it? - -You can report your experience to our Maintainers at hello@virtualcoffee.io or anonymously at virtualcoffee.io/report-coc-violation. - - - - - -## What To Expect In Virtual Coffee - -### Coffees (Zoom Meetings) - - - -We have twice weekly Coffees (Zoom Meetings) on **Tuesday at 9:00 AM ET** and **Thursday at 12:00 PM ET** that last an hour. - -This is a good place and time to meet and get to know other members, old and new, through casual conversations. - - - -#### How it works - -After some pre-coffee chatter, the Coffee MC will do an intro with some background and important announcements while people filter in. Then we'll break the crowd into breakout rooms for more relaxed and intimate conversations. - -When we move to the small group conversations, there will be a room leader and notetaker for the room. They'll explain how we do introductions and how to participate. We value our members and the ways they're most comfortable participating. - -If you're here to listen and chill? No problem! If you can't turn on your camera or aren't comfortable having your camera or even sound on? Feel free to turn them off! There is no obligation for you to have them on. We want you to be as comfortable as possible in our coffees. - -#### Joining coffees - -We drop the schedule and reminder in the `#announcement` channel on Slack. There will also be an announcement 10 minutes before the event start, along with the link to join. Click that button, and you will be directed to our Zoom. - ---- - -### Virtual Coffee On Slack - - - -Much of Virtual Coffee occurs on Slack. We have channels in our Slack to accommodate our members. We encourage you to participate in Slack to get the most out of Virtual Coffee. - -Check our Virtual Coffee Slack Channel Guide for the complete list. - - - -#### Find and add channels in Slack - -##### On computer: - -- Hover over to Channel tab on the left side -- Click the "+" button -- Click "Browse channels" -- Find a channel that you want to join -- Click "Join" button - -##### On phone: - -- Click the "+" button -- Search a channel by scrolling down -- Click on the channel -- Click "Join channel" button - -**Tips:** You can scroll through a channel's conversation to understand what the channel is all about before clicking the "Join" button. - -#### Leave a channel in Slack - -If you decided to leave a channel: - -##### On computer: - -- Right click on the channel that you want to leave -- Click "Leave channel" - -##### On phone: - -- Click on the channel that you want to leave -- Click the "i" button at the top right corner -- Click "Leave" - ---- - -### Co-working with other members - - - -Do you want to work or learn with people, need help and a pair program, or only want to hang out with other members? Thanks to Dan Ott, we have a `#co-working-room` channel linked to our Zoom, so our members can connect anytime they want! It's open 24/7! - - - -#### Joining co-working session - -- Head over to the `#co-working-room` channel on Slack. -- Click the green button to start a new session or join the ongoing session, and then you will be directed to our Zoom. - - - - - -## Virtual Coffee Events - - - -Our members voluntarily hold events from members to members! You can find the complete listing of the events on the Events page. - - - -### Joining events - -We drop the week and day events in the `#announcement` channel on Slack. There will be another announcement 10 minutes before the event start, along with the link to join. Click that button, and feel free to join! - -### Coffee Table Groups - -Coffee tables are regular internal events for our members run by our volunteers. -You are most welcome to join! - -#### Tech Interview Study Group - -_Mondays at 4:00 PM ET_ - -Weekly discussion of job search & interview-related topics. Mini mock-interviews, technical topic discussions, job search tips, occasional guest speakers, etc. We are always looking for ideas to help meet your needs! All stages of career & job search welcome. - -Interested? Join the `#tech-interview-study-group` Slack channel! - -#### Accountabilibuddies - -_Tuesdays at 7:00 PM ET, Thursdays at 9:00 AM ET, and every other Sunday at 1:00 PM ET_ - -You want to learn that new tool/finish up that blog post/send that job application, but you’re so busy that the day is over before you know it. Join us and add some fun and friendly accountability to your schedule! - -Drop into our sessions whenever and for however long your schedule allows. No matter the goal, you’ll find encouragement and support alongside your accountabilibuddies! - -#### Indie-startup hackers - -_Every other Wednesday at 12:00 PM ET_ - -Running a company? Thinking of starting? We support each other and discuss the issues that can make us better at the business of technology. Hack commerce! - -Interested? Join the `#indie-startup-hackers` Slack channel! - -#### Frontend Friday Folks - -_Every Friday at 5:00 PM ET_ - -Every Friday we're working on a puzzle at [CSSBattle](https://cssbattle.dev/). We're taking over the `#co-working-room` during this time. Feel free to join us and learn more about CSS! - -#### Virtual Coffee Book Club - -Read, study, and discuss 2-3 books each year with fellow VC readers. Use the questions in the GitHub discussions to go at your own pace for any past books. Feel free to gather a group of friends and start your own read through for a book. - -Just join the `#book-club` Slack channel! - -#### Feelings Friday - -_Every Friday at 10:00 AM ET_ - -Feelings Friday was started at the Flatiron School coding boot camp by its founders, Avi Flombaum & Adam Enbar, after they noticed burnout among their first cohorts. Join a safe space to share what's that's on your mind and hold space for others. It's a great way to unwind at the end of the week! - -#### The Pack Hunt - -_Every Wednesday at 2:00 PM ET_ - -Job Hunting as a collective : An Accountability session exclusively for job hunting, share your goals, target roles, and resources, support each other by being present, modeling good job hunting, and sharing as we apply for jobs, reach out to recruiters, and scroll linkedin for leads. "Hunt with the pack, arwoooo..." - -**Note:** These are the currently scheduled times for these events at the time of this publication. Please check the official VC `#announcements` Slack channel, or other noted channels, for any updates and links to event rooms. - -### Monthly Challenges - -Every month we hold a monthly challenge which we encourage our members to participate in! - -At the end of the month there would be an announcement on what we will do for the upcoming monthly challenge. Starting at the beginning of the month, members can update their progress in a Slack’s channel that is provided special for monthly challenges. - -### Lunch & Learns - -Lunch & Learns are hour-long events lead by our members. They can be traditional conference-style talk, panel discussion, question and answer, or a combination. - -If you have a topic that you want to present as a Lunch & Learn, you can do so by filling out the Lunch & Learn Idea form. A coordinator will reach out, get the talk scheduled, and put on the events calendar. - -### Lightning Talks - -Occasionally we hold Lightning Talk sessions. Virtual Coffee's Lightning Talk is a great way to try your hand at public speaking in a supportive and safe place! - -In Lightning Talk, a group of members takes turns presenting their talk in a 5-20 minute time range. Our maintainers will share a Call for Proposals in Virtual Coffee Slack about one month before the event. And we always provide mentorship for those who want it. So we got your back! - -Do check the [playlist on youtube](https://www.youtube.com/playlist?list=PLh9uT23TA65infGqUUaVibI0IssI0G6NY) from our latest sessions! - -### [HacktoberFest](https://hacktoberfest.virtualcoffee.io/) - -Yes! We do participate in [Digital Ocean's HacktoberFest](https://hacktoberfest.digitalocean.com)! Virtual Coffee is also open source. Every October, we help our members to contribute to and/or maintain open sources. - - - - - -## Giving Back To The Community - -### Volunteering At Virtual Coffee - -As you can see, Virtual Coffee has Coffees (Zoom Meetings), events, even office hours! And these are all becoming possible thanks to our members who run these voluntarily. - -If you're interested in joining the volunteer team, check out our open roles! And if you are interested in starting a new Coffee Table group, you can find more information on the Leading a Coffee Table Group page. - -If you have questions, drop them in the `#community-questions` channel, or you can contact one of our community maintainers. - ---- - -### Contributing To Virtual Coffee - -#### [Open Source](https://github.com/Virtual-Coffee/virtualcoffee.io) - -Virtual Coffee’s website is [open source](https://github.com/Virtual-Coffee/virtualcoffee.io) and we love contributions! Please read our [Contributing Guide](https://github.com/Virtual-Coffee/virtualcoffee.io/blob/main/CONTRIBUTING.md) for some guidance on contributing to virtualcoffee.io. - -#### [Sponsorship](https://github.com/sponsors/Virtual-Coffee) - -Our members volunteer their time and support for Virtual Coffee to run. [Sponsorships](https://github.com/sponsors/Virtual-Coffee) help us to continue serving the Virtual Coffee community, and to support all of the things you see on this page! - - - - - -## Keeping Up With Virtual Coffee - -### Virtual Coffee Podcast - -We interview members of the community to learn more about their stories, who they are, how they found Virtual Coffee, and how that influences their lives as developers. - -You can subscribe and listen to our backlog of episodes on the Virtual Coffee Podcast page. - ---- - -### Virtual Coffee Newsletter - -Every month we publish a newsletter for our members to keep up with Virtual Coffee. Our newsletter includes upcoming Virtual Coffee events, interesting things our members are doing, and lots more. - -You can subscribe to or read the newsletter on the Virtual Coffee Newsletter page. - ---- - -### [@VirtualCoffeeIO on Twitter](https://twitter.com/VirtualCoffeeIO) - -Come chat on Twitter! - ---- - -### [VC on YouTube](https://www.youtube.com/channel/UCc0579aGEy7jTAgRglR4J0g) - -We post event recordings and other resources on our [YouTube Channel](https://www.youtube.com/channel/UCc0579aGEy7jTAgRglR4J0g). - - diff --git a/app/routes/__frontend/resources/virtual-coffee/index.mdx b/app/routes/__frontend/resources/virtual-coffee/index.mdx deleted file mode 100644 index 9d3efe77..00000000 --- a/app/routes/__frontend/resources/virtual-coffee/index.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -meta: - title: Virtual Coffee Member Resources - description: A collection of guides for current and prospective Virtual Coffee members -hero: - Hero: UndrawProductTeardown -tags: - - memberresources - - memberresourcesIndex -order: 1 ---- - -import TextContainer from '~/components/content/TextContainer'; -import FileIndex from '~/components/content/FileIndex'; - - - -## Virtual Coffee Member Resources - - - - diff --git a/app/routes/__frontend/resources/virtual-coffee/join-virtual-coffee.mdx b/app/routes/__frontend/resources/virtual-coffee/join-virtual-coffee.mdx deleted file mode 100644 index a8d2399e..00000000 --- a/app/routes/__frontend/resources/virtual-coffee/join-virtual-coffee.mdx +++ /dev/null @@ -1,111 +0,0 @@ ---- -meta: - title: Join Virtual Coffee - description: We're answering your questions about joining Virtual Coffee! -hero: - Hero: UndrawJoin -tags: [memberresources] -order: 1 ---- - -import LeadText from '~/components/content/LeadText'; -import TextContainer from '~/components/content/TextContainer'; -import { Link } from '@remix-run/react'; - -## Table of Contents - - - ---- - -## F.A.Q. - -### How can I join Virtual Coffee? - -#### 1. Join the Waiting List or Receive an Invite - - - -We our now accepting new members on a limited basis! - - - -If you are interested in joining Virtual Coffee, you can join the waiting list or receive an invite from a current member. - -Once we've accepted you and added to our membership, you will receive an email with links to our Coffees. - -#### 2. Attend one of our Coffees (Zoom Meetings) - - - -You need to attend one of our Coffees (Zoom Meetings) on **Tuesday at 9:00 AM ET** or **Thursday at 12:00 PM ET** that last an hour. - - - -We absolutely love the closeness of this community and know it’s one of the many things that sets us apart. This closeness starts with those coffees. - -We would also like to give you the experience of Virtual Coffee in person before we move to Slack group. - -#### 3. Now you’re a full member! Welcome! 👋 - -Once you join one of our Coffees, be sure to tell your room leader that you're a new member. - -After the Coffee is over, you'll receive an email with a link to our Slack group and more information. - -You can introduce yourself in the `#welcome` channel and join our members-only events. We would love to know who you are, where you are in your tech journey, and what you enjoy outside of tech! - ---- - -### What is going on in Coffees? - -We’re getting to know other members, old and new, through casual conversations on Zoom. We prioritize empathy, encouraging everyone to participate in the ways that are most comfortable to them, and learning together. -Check out our Guide To Virtual Coffee for more details. - ---- - -### Are there any other days and times for Coffees? - -Not yet, but we're working on it! - ---- - -### I’m an introvert. Would it be okay to turn off my camera during Coffees? - -If you aren't comfortable having your camera or even sound on, feel free to turn them off! There is no obligation for you to have them on. You can always drop chat if it’s more convenient for you. We want you to be as comfortable as possible in our coffees. - ---- - -### I’m a newbie. Can I still join Virtual Coffee? - -Of course! Our members are at all stages of the journey. Anyone can join, whether you're thinking about getting into tech or have been in it for decades! - ---- - -### I’m not a developer. Can I still join Virtual Coffee? - -Absolutely! If you’re into online communities, and enjoy conversations around tech, then Virtual Coffee is for you! - ---- - -### What will I get when I join Virtual Coffee? - -You can participate in our events, have access to our slack, get support and help as you need, mentorship, and most of all, FRIENDSHIPS! -Feel free to take a glimpse of what’s going on in Virtual Coffee to get some more insights. - ---- - -### Is there any membership fee? - -None, _nada_! You don’t need to pay memberships to join Virtual Coffee. -Our members volunteer their time and support for Virtual Coffee. -[Sponsorships](https://github.com/sponsors/Virtual-Coffee) helps us to continue serving the Virtual Coffee community and to support all of the things you see on this website! - - - - - -See you in one of our Coffees! ☕ - -If you have any other questions, you can email them to our Maintainers at hello@virtualcoffee.io. - - diff --git a/app/routes/__frontend/resources/virtual-coffee/slack-channel-guide.mdx b/app/routes/__frontend/resources/virtual-coffee/slack-channel-guide.mdx deleted file mode 100644 index 9dcc4511..00000000 --- a/app/routes/__frontend/resources/virtual-coffee/slack-channel-guide.mdx +++ /dev/null @@ -1,446 +0,0 @@ ---- -meta: - title: Virtual Coffee Slack Channel Guide - description: All the channels available in our Virtual Coffee Slack community! -hero: - Hero: UndrawQuickChat -tags: [memberresources] -order: 3 ---- - -import TextContainer from '~/components/content/TextContainer'; - - - -## Our Slack Channels - -### #accessibility - -This channel is all about questions, comments, tips, answers around a11y for accessibility. - ---- - -### #add-new-channel - -Do you have an idea to add a new channel in Slack? You can discuss it on this channel. - -Announcements of new channel additions are also posted in this channel. - -#### 📌 Pinned in this channel: - -- List of Virtual Coffee Slack’s Channels - ---- - -### #announcements - -The purpose of this channel is to announce anything related with Virtual Coffee such as the release of new podcast episodes, newsletter, Virtual Coffee events’ schedules and reminders, etc. - -Check it out regularly so you won't miss our community announcements and events! - -#### Regular bot announcements - -- Events of the week — Mondays at 8 AM ET. -- Events of the day — On the day of the event at 8 AM ET. -- Event starting soon — 10 minutes before the event start, along with the link to join the event. - -#### Joining events - -Within the final announcement that is dropped 10 minutes before the event, click the button to join the event. Then you will be directed to the Zoom of the event. - -#### 📌 Pinned in this channel: - -- Link to Virtual Coffee Teams Volunteer Form -- Link to Virtual Coffee’s Code of Conduct -- Link to Report Form Code of Conduct - ---- - -### #articles-and-resources - -Do you want to share useful tech/non-tech articles and resources? You can drop them here! - ---- - -### #big-energy - -This is a channel that has such a lot of energy! Drop by here if you want to give/get that motivation and big energy for/from others! 🔥 - ---- - -### #book-club - -If you love reading, this channel is what you’re looking for. The channel for book lovers and book discussions! - -There are weekly discussion questions, a reading schedule, and a live group discussion at the end of the book going on in this channel. - -Head over to the channel's description for the book's of the month and the reading schedule. - ---- - -### #co-working-room - -Do you want to work or learn with people around, or just want to hang out with other members? This channel is linked to Zoom and always open 24/7! - -#### Joining co-working session - -In this channel, click the green button to start a new session or join the ongoing session, and then you will be directed to our Zoom. - ---- - -### #code-challenges - -Are you doing Exercism, CodeWars, LeetCode, or another code challenge? - -This channel is the perfect place to flex your skills, or ask for help! - ---- - -### #coffee - -If you are a coffee lover, this is definitely a channel for you because it’s all about COFFEES! Beans, beans, beans, the magical fruit! - ---- - -### #community-questions - -Have questions about Virtual Coffee? What we do? What we're up to? Tools we use and/or how to utilize them? -Or you have some ideas for the community that you would share? -Drop them here for the community to answer! - ---- - -### #consulting-and-freelancing - -This channel is to discuss business aspects of consulting and get support on client issues. - ---- - -### #content-creation - -Do you have any questions around blog posts, or streaming, or video content? Or you simply want to share your work? This is the channel that you're looking for. - -It’s also a place to organize and announce Virtual Coffee content-creation meet-ups. - ---- - -### #cybersecurity - -Do you want to discuss or ask all things related to cybersecurity? Then you are at the right channel! - ---- - -### #devrel - -A channel for all things Developer Relations! Contents, travel, community, and more! - ---- - -### #external-events - -Do you know some non-VC-affiliated tech events and want to share them with us? This is that channel! - ---- - -### #fandom - -The floodgates are open to discuss any and all of our beloved fandoms. Manga/Anime, Marvel, TV shows, comics, etc. As always the Code of Conduct applies. No NSFW content. - ---- - -### #food - -Feel like you want to share delicious foods that you know, your instagram-like (or not) food pics, or ask and share recipes? We welcome all foodies here! - ---- - -### #foreign-languages-and-culture - -This channel covers any and all languages, including English. In addition, use this as a space to share different aspects of your various cultures, like regional holidays, family traditions, anything you find interesting or fun! - ---- - -### #frontend - -Drop by here for all questions, discussions, articles, all things frontend. From bundlers to MDN! - ---- - -### #game-night - -Want to game with other VC'ers? Look no further! It can be anything from a fun website, Catan Online or even something on Steam. - ---- - -### #game-result - -Did you totally nailed the latest Noodle, Wordle, Hurdle, or Zoodle?!? Go you! :tada: Share those results here, threading conversations as appropriate. - ---- - -### #general - -A place to post anything related to tech in general and extensions of Virtual Coffee's conversations. - -#### 🔁 Regular posts in this channel: - -- Notes from weekly coffees -- Wednesday’s midweek check-in -- Friday’s gratitude - -#### 📌 Pinned in this channel: - -- Link to Lunch & Learn Talk Submission Form. -- Link to Virtual Coffee’s repo issue #13 on GitHub to add yourself as a member of Virtual Coffee on our site. - ---- - -### #goals-and-wins - -Share your goals for the week and celebrate your wins in this channel! - ---- - -### #gratitude - -A channel dedicated to shoutouts & kind words. Spread the love! ❤ - ---- - -### #happiness - -Just a place to post things, ANYTHING, that makes you happy! - ---- - -### #health-and-fitness - -Because we also need to think of our health! This channel is a place to share anything related to health and sports/workouts that you do. - ---- - -### #heavy - -It’s a safe place to let out anything heavy that bothers you and/or ask for support. - ---- - -### #help-and-pairing - -Do you have any questions about your code? Or do you need someone to help you by pairing? You can ask for it here! - -This channel is not limited to throw questions or ask help around code. -You can also ask for resources, ask opinions about your project, ask help to fill surveys, or any other help related to tech. - -#### 📌 Pinned in this channel: - -- List of members' open-office schedules - ---- - -### #humor - -Share those memes, jokes, and laughter with us here! This channel is for humor that embraces the Virtual Coffee's Code of Conduct, like 999%. - ---- - -### #i-love-pets - -A place for pet parents and pet lovers to hang out. Share those cute pets pictures here! - ---- - -### #i-love-plants - -A place for plant parents to trade tips or those that merely respect plants to hang out and take it all in. - ---- - -### #indie-startup-hackers - -The channel for indie hackers, startups, bootstrappers and side projects. - ---- - -### #job-hunt - -This is the place to share job boards and our support for good work in tech. - -External job postings are not vetted by Virtual Coffee maintainers. - ---- - -### #learning-together - -A channel to support, co-learning, and chat about topics we want to learn together. - ---- - -### #lgbtq-plus - -A compassionate space where people can feel comfortable expressing their gender and sexual identities, and discussing issues in the space. - ---- - -### #machine-learning-and-data - -Anything about machine learning, statistics, and linguistics is happening in this channel. - ---- - -### #making-stuff - -A place to share things you make! Hobbies, crafts, costumes, woodworking, or anything else IRL! - ---- - -### #mental-health - -A place to share status, approaches, and intentionally listening. Anything that helps us take care of our mental health. - ---- - -### #moms-in-tech - -A channel where moms-in-tech share their feelings, experiences, and frustrations and get support from other moms. - ---- - -### #monthly-challenge - -The channel to check-in, keep each other informed on our progress in monthly challenges. - -#### 📌 Pinned in this channel: - -- Challenge of the month - ---- - -### #music - -Want to discuss anything about music, share your favorite music, or what you’re listening to right now? You are in the right place! - ---- - -### #neurodiverse - -Discussions, resources, and support for neurodiversity. - ---- - -### #open-source - -A place to discuss ways to create, contribute to, and maintain open-source projects. - -#### 📌 Pinned in this channel: - -- Link to Virtual Coffee issues on GitHub - ---- - -### #overheard-quotes - -Any good quotes you want to share with us? Drop them in this channel! - ---- - -### #parenting - -Some of us are parents, and we need support from each other too! You can find it on this channel. - ---- - -### #past-midnight - -This is the perfect channel for insomniacs! - ---- - -### #politics - -A space that is dedicated to discussing anything about politics. - ---- - -### #random - -Do you want to share something that's completely random? -Or maybe you want to share or ask something, but you're not sure where to drop it? -You can always drop it in this channel! - -We do encourage you to use this channel whenever you are not sure where to post your thread. -Our maintainers and/or one of our members will repost it to the suitable channel(s) for more exposure. - ---- - -### #region-europe - -A channel for members in the European region. - ---- - -### #sportsball - -Do you like football, soccer, basketball, or any other sportsball? This channel is dedicated to you, sportsball fans! - ---- - -### #tech-interview-study-group - -Need some feedback on your resume? Have a question about the tech interview process? This channel is a great resource. - -It’s made for Virtual Coffee members who may need help studying for technical interviews to come together, ask questions, run study sessions, and generally help each other interview and get the job! - -#### 📌 Pinned in this channel: - -- “How to make the best us of the group” (Guide to Tech Interview Study Group) - ---- - -### #tech-products - -List your favorite software, learning resources, equipment—all of your tech go-to’s! Also highlight deals/sales and ask for recommendations here. - ---- - -### #tech-reminisce - -Place to go to talk about history. - ---- - -### #vc-events - -This channel is for announcements and discussion of both official Virtual Coffee events and member-lead events for Virtual Coffee members only. - -#### 📌 Pinned in this channel: - -- Lunch & Learn Talk Submission Form - ---- - -### #vue-crew - -Discussing and learning everything about VueJS. - ---- - -### #web3 - -Discussing and learning about web3 and the changes coming to the internet from blockchain technology. Topics can include: Crypto/NFT's, DAO's, Decentralized Technology, Non Crypto Blockchain use cases. - ---- - -### #welcome - -So you’re now on Slack? Welcome to Virtual Coffee! 👋 - -Please introduce yourself in this channel. We would like to know you better! 😄 - ---- - -### #wordpress - -This is the place to discuss and ask questions about WordPress! - - diff --git a/app/routes/__frontend/start-coffee-table-group/index.jsx b/app/routes/__frontend/start-coffee-table-group/index.jsx index 849f5efc..cdaa800c 100644 --- a/app/routes/__frontend/start-coffee-table-group/index.jsx +++ b/app/routes/__frontend/start-coffee-table-group/index.jsx @@ -43,15 +43,19 @@ export default function VolunteerForm() { Our Coffee Table Groups have been one of the most popular and valuable features for members of our community. Coffee Table Groups are small, special interest groups created and run by members. They can involve - Zoom meetings, async slack hangouts, or anything else that the members + Zoom meetings, async Slack hangouts, or anything else that the members would like to do.

- To read more about Coffee Table Groups, read our{' '} - - Coffee Table Groups guide - - . + To learn more about leading a Coffee Table Group, read our{' '} + + Leading Coffee Table Groups + {' '} + guide. See the list of our existing Coffee Table Groups in the{' '} + + Coffee Table Groups + {' '} + guide.

diff --git a/app/routes/__frontend/volunteer-at-virtual-coffee/index.jsx b/app/routes/__frontend/volunteer-at-virtual-coffee/index.jsx index 8d9da524..fd2dc6e0 100644 --- a/app/routes/__frontend/volunteer-at-virtual-coffee/index.jsx +++ b/app/routes/__frontend/volunteer-at-virtual-coffee/index.jsx @@ -54,7 +54,7 @@ export default function VolunteerForm() {

To read more and to see some roles available, read our{' '} - + Paths to Leadership & Roles guide . diff --git a/public/assets/svg/UndrawAgreement.svg b/public/assets/svg/UndrawAgreement.svg new file mode 100644 index 00000000..8ecf342b --- /dev/null +++ b/public/assets/svg/UndrawAgreement.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawBooks.svg b/public/assets/svg/UndrawBooks.svg new file mode 100644 index 00000000..56e3912c --- /dev/null +++ b/public/assets/svg/UndrawBooks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawCollaborators.svg b/public/assets/svg/UndrawCollaborators.svg new file mode 100644 index 00000000..651b6d51 --- /dev/null +++ b/public/assets/svg/UndrawCollaborators.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawConference.svg b/public/assets/svg/UndrawConference.svg new file mode 100644 index 00000000..f6ee163f --- /dev/null +++ b/public/assets/svg/UndrawConference.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawJoinThumbUp.svg b/public/assets/svg/UndrawJoinThumbUp.svg new file mode 100644 index 00000000..28d69d2c --- /dev/null +++ b/public/assets/svg/UndrawJoinThumbUp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawMeditating.svg b/public/assets/svg/UndrawMeditating.svg new file mode 100644 index 00000000..a3ab682b --- /dev/null +++ b/public/assets/svg/UndrawMeditating.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawOnlineArticles.svg b/public/assets/svg/UndrawOnlineArticles.svg new file mode 100644 index 00000000..223a0db7 --- /dev/null +++ b/public/assets/svg/UndrawOnlineArticles.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawPumpkin.svg b/public/assets/svg/UndrawPumpkin.svg new file mode 100644 index 00000000..cb782a96 --- /dev/null +++ b/public/assets/svg/UndrawPumpkin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawReadingList.svg b/public/assets/svg/UndrawReadingList.svg new file mode 100644 index 00000000..d30b0efd --- /dev/null +++ b/public/assets/svg/UndrawReadingList.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawRemoteMeeting.svg b/public/assets/svg/UndrawRemoteMeeting.svg new file mode 100644 index 00000000..db539a04 --- /dev/null +++ b/public/assets/svg/UndrawRemoteMeeting.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawSentimentAnalysis.svg b/public/assets/svg/UndrawSentimentAnalysis.svg new file mode 100644 index 00000000..4d34c13a --- /dev/null +++ b/public/assets/svg/UndrawSentimentAnalysis.svg @@ -0,0 +1 @@ +sentiment_analysis \ No newline at end of file diff --git a/public/assets/svg/UndrawShareOpinion.svg b/public/assets/svg/UndrawShareOpinion.svg new file mode 100644 index 00000000..08477959 --- /dev/null +++ b/public/assets/svg/UndrawShareOpinion.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawSocialUser.svg b/public/assets/svg/UndrawSocialUser.svg new file mode 100644 index 00000000..56ef9c60 --- /dev/null +++ b/public/assets/svg/UndrawSocialUser.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawTeamCollaboration.svg b/public/assets/svg/UndrawTeamCollaboration.svg new file mode 100644 index 00000000..36b1ff69 --- /dev/null +++ b/public/assets/svg/UndrawTeamCollaboration.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/UndrawWorkout.svg b/public/assets/svg/UndrawWorkout.svg new file mode 100644 index 00000000..81217f5e --- /dev/null +++ b/public/assets/svg/UndrawWorkout.svg @@ -0,0 +1 @@ +workout \ No newline at end of file diff --git a/styles/_supporters.scss b/styles/_supporters.scss index 183744c4..538cc30a 100644 --- a/styles/_supporters.scss +++ b/styles/_supporters.scss @@ -40,7 +40,9 @@ width: 100%; height: auto; max-width: 400px; - box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + box-shadow: + 0 1px 3px 0 rgb(0 0 0 / 0.1), + 0 1px 2px -1px rgb(0 0 0 / 0.1); border-radius: 4px; background: #fff; } @@ -73,7 +75,9 @@ width: 100%; height: auto; max-width: 400px; - box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + box-shadow: + 0 1px 3px 0 rgb(0 0 0 / 0.1), + 0 1px 2px -1px rgb(0 0 0 / 0.1); border-radius: 4px; background: #fff; }