Code Monkey home page Code Monkey logo

irl.dev's Introduction


Forem 🌱

For Empowering Community

Build Status Build Status GitHub commit activity GitHub issues ready for dev GitPod badge

Welcome to the Forem codebase, the platform that powers dev.to. We are so excited to have you. With your help, we can build out Forem’s usability, scalability, and stability to better serve our communities.

What is Forem?

Forem is open source software for building communities. Communities for your peers, customers, fanbases, families, friends, and any other time and space where people need to come together to be part of a collective. See our announcement post for a high-level overview of what Forem is.

dev.to (or just DEV) is hosted by Forem. It is a community of software developers who write articles, take part in discussions, and build their professional profiles. We value supportive and constructive dialogue in the pursuit of great code and career growth for all members. The ecosystem spans from beginner to advanced developers, and all are welcome to find their place within our community. ❤️

Table of Contents

Community

For a place to have open discussions on features, voice your ideas, or get help with general questions please visit the discussions section.

Contributing

We encourage you to contribute to Forem! Please check out the Contributing to Forem guide for guidelines about how to proceed.

Getting Started

This section provides a high-level quick start guide. If you're looking for a more thorough installation guide (for example with macOS, you'll want to refer to our complete Developer Documentation.

We run on a Rails backend, and we are currently transitioning to a Preact-first frontend.

A more complete overview of our stack is available in our docs.

To launch Forem in Gitpod, navigate to https://gitpod.io/#https://github.com/{your_github_username}/forem.

Installation Documentation

Please see our installation guides:

Developer Documentation

Check out our dedicated docs page for more technical documentation.

Vulnerability disclosure

Forem is the open source software which powers DEV.

We welcome security research on DEV under the terms of our vulnerability disclosure policy.

Acknowledgements

Thank you to the Twemoji project for the usage of their emojis.

Thank you to Uffizzi for providing ephemeral environments to preview pull requests.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please see the LICENSE file in our repository for the full text.

Like many open source projects, we require that contributors provide us with a Contributor License Agreement (CLA). By submitting code to the Forem project, you are granting us a right to use that code under the terms of the CLA.

Our version of the CLA was adapted from the Microsoft Contributor License Agreement, which they generously made available to the public domain under Creative Commons CC0 1.0 Universal.

Any questions, please refer to our license FAQ doc or email [email protected].


Sloan, the sloth mascot
Happy Coding ❤️

⬆ Back to Top

irl.dev's People

Contributors

aspittel avatar benhalpern avatar spences10 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

irl.dev's Issues

Organize Events in Chronological Order

I think it might be helpful to have them ordered by date. So the first event listed is the next upcoming event, so this would be reordered so that the Kalyani meet up is the first one listed. Screen Shot 2019-07-17 at 1 20 01 PM

This website should be great with pictures

One of the more special things that can come out of irl events are all the great pictures. We should make handling of lots of images and displaying them beautifully one of the core design choices of this site. 🙂

Adding dark mode:

dark mode allows website visitors to switch to an eye-friendly and resource-saving design whenever they want. There are a couple of UX patterns we can use to add a dark theme to your site.

Global DEV Meet-Up / Hackathon Day

As I mentioned in the comment on this post on dev.to. I would like a Global DEV Meet-Up / Hackathon Day. where local organizers set up a local event all on the same day.
Anyone got any ideas on how this could be organized? and Will the DEV team support this effort? @benhalpern?

DOM nodes disappearing on desktop viewport

A rather obscure bug that may be caused by something related to gatsby preloading.

To reproduce:

  1. Go to https://irl.dev. Make sure you are using Chrome (may be also valid for other Blink browsers) and a desktop viewport.
  2. Click on the first button
  3. Click on the second button
  4. Scroll up

This does not occur when you use the direct link. Nodes are still there and can be inspected with DevTools. I could not figure out the exact breakpoint, but for me it breaks at around 845px window width. Resizing the window makes it normal again.

OS/Browser:

Chromium 75.0.3770.90 (Official Build) snap, Debian 10
Also tested on latest Chrome, Windows 7.
Does not occur in Firefox.

GDPR Compliance and European Events

Hey y'all,

Right now, we don't have any events in Europe that have been proposed, so this isn't an issue yet, but we should be prepared for it when it happens. If you are not familiar with the GDPR and don't want to wait for my article on it later today, it's Europe's online privacy legislation that went into effect last year. Any company that collects data on EU citizens, even if such company does not have an official presence within any of the EU member states, is legally obliged to follow the law.

It mostly comes down to compliance and transparency. We have to make note of what data we are collecting, where it is being stored, what measures are being taken to secure that data, under which conditions that data is shared with third parties, and a data protection officer needs to be elected who is legally responsible for GDPR violations and would appear in court on behalf of DEV.TO if we were ever summoned to court for a violation (you have to try pretty hard to get a violation though).

We need to have a plan in place which would allow us to notify site members of a data breach within 24 hours, providing details on the extend of data that appears to have been leaked, and what measures are being taken to minimize the damage and prevent the incident from happening again. An EU citizen can ask for a copy of all of their data stored on the site, at which point a "reasonable timeframe" is given to respond to the request, which must be provided in a "machine-readable format." As you can see, it is incredibly vague at most points.

As far as I know, we don't collect that much data from users, most of it is from posts/profiles/comments and that participation is all voluntary. If someone does not consent to having that data be collected, then they have no business hanging out on an online forum. We would need to have a data privacy statement as part of the signup process that outlines what is collected and why we need that info, and users will have the option to opt-out of collection. Because of the nature of the site, that largely comes down to them not sharing information publicly.

Some data is considered more valuable than others, specifically sexual identity, political beliefs, and health information. Many of these subjects appear on DEV.TO discussions on a fairly frequent basis; we probably just need to make a note that all participation is voluntary and no efforts are being made to mine and catalog data of that nature from posts and comments (or at least I hope not).

We would need to collect the data protection agreement for any third parties who we share data with or who store data on our behalf. Hosting providers, analytics services, e-mail marketing services, etc. Every one of those companies should have a generic DPA that they can send to us for signature which they will then countersign, which basically outlines what data they collect and how they would respond to a breach, etc.

This protections only apply to EU citizens living in EU member states, but my experience has been that attempting to create an implementation which provides EU citizens proper rights and continues to carelessly collect and distribute data on everyone else creates a headache for themselves and it is actually a lot more effort to half-ass compliance like that. Affirming privacy as a universal right and giving all members the same data protections and requiring them to opt-in to use our services is pretty in-line with open-source morals I would say.

Basically, we need:

  • A staff member to act as Data Protection Officer who is willing to appear before the legal courts of the EU if a major violation occurred on the site and who is responsible for dealing with any questions or requests related to the GDPR.
  • A process to collect all data related to a user in plaintext, JSON, or some other relatively platform-neutral data structure.
  • A [email protected] e-mail address for questions, withdrawing consent, requesting data, etc
  • A data protection strategy and breach notification policy which both get posted to the site and are available for view during the sign-up process.
  • Gathering explicit consent from the user for data collection (they have to check a box or sign their initials, consent cannot be consumed unless you act against it and consent inputs cannot be prepopulated). For current users, you could add this to the profile or just send out a notice that by continuing to keep a DEV.TO account and participate on the site, you are consenting to whatever tiny amount of data collection that gets performed.
  • Users should have a way to opt out of analytics reporting if possible, or info should at least be anonymized (mask part of IP address, random UUID assignment) so it is impossible to personally identify a member from the data alone.
  • A way for users to request the deletion of all data currently stored about themselves in a timely manner.
  • I personally found it helpful to map out every data point that was stored on company servers vs data that was sent to a third party in one form or another and ended up with a really cool dataflow graph showing where collected information is stored and what processing agreements cover its existence at that location.

Happy to provide more info or answer more questions. I am obviously not a lawyer, my only credential is that I have previously helped an employer comply with legislation. We haven't been targeted in a lawsuit yet, so I must have done something right!

This probably should have been a thing on DEV.TO for a while, but reading specifically about this site made me realize we need to comply with the GDPR.

Let me know what I can help with!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.