Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

current product roadmap update notes 5AUG18 #21

Merged
merged 2 commits into from
Aug 7, 2018

Conversation

hollomancer
Copy link
Member

No description provided.


* Templates for static pages. One of the biggest bottlenecks over the past year has been React - it can be a difficult framework to get started with, especially when someone is brand new to web development. Rather than attempt to rewrite our front end in a different framework, I’d like to focus on making our particuarly implementation of React more beginner friendly. Adding in static content is a great way for a beginner to get started with contributing - let’s make a template that can be copy and pasted for any new static page. Yes, we might violate the DRY rule a bit here, but I think this is a worthy exception and necessary to our mission. We need the process of using this template very well documented. Any new copy for the front end should go in a Github issue with a link to this guide, and these issues should be reserved for first time contributions whenever possible.
* Templates for static pages. One of the biggest bottlenecks over the past year has been React - it can be a difficult framework to get started with, especially when someone is brand new to web development. Rather than attempt to rewrite our front end in a different framework, I’d like to focus on making our particuarly implementation of React more beginner friendly. Adding in static content is a great way for a beginner to get started with contributing - let’s make a template that can be copy and pasted for any new static page. Yes, we might violate the DRY rule a bit here, but I think this is a worthy exception and necessary to our mission. We need the process of using this template very well documented. Any new copy for the front end should go in a Github issue with a link to this guide, and these issues should be reserved for first time contributions whenever possible. _does kyle's work negate this?_
Copy link
Member

@kylemh kylemh Aug 5, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My work doesn't necessarily negate this, but I do think the new repo will make it easier for people to create pages, with less help, and do them faster

Currently to make a page, they need to go to src/scenes/index, make a route there, and make the container within a folder within scenes.

The new structure is going to be:
Add a line to routes.js
Add PageName.js to /pages

Much simpler 👍

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kylemh - how far are we talking about - a CMS? by integrating a CMS, contribution is not necessarily via code. Hoping with this new repository, we can quickly add content. Currently a very long process of making a route, creating container for it. New system will have routes.js and a pages folder, that's it.
@hollomancer - We are inevitably moving towards a CMS so we need to factor that in
@nellshamrell - Need to add a task to assess this for next roadmap. Leaning towards part of it being a CMS, part of it being code-driven.
@kylemh - Contentful? Wordpress?


* Landing Page ReDesign
* *P1* Landing Page ReDesign _we need to communicate who we are and how you become a part of us, how to join. How do they know if we're legitimate? -davidm_
* Re-think and redo hero banner implementation
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think getting a designer involved in our process is a really good idea.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good opportunity to allow our designers floating around to get involved.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nellshamrell - we will need a designer for this
@jjhampton - agreed. we had a bunch of really great designs by Rob Kriner and we need the styles to be consistent
@hollomancer - Can reach out to Laura
@kylemh - Need a mock for this. Can also try recruiting for UX/UI folks locally.
@nellshamrell - Hacktoberfest is coming and we might be able to get a lot of contributors fast

* Make sure that all UI components have Jest snapshot tests and Storybook instances
* _in progress with kyle_
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At 26% coverage on the new repo and climbing :)


* Document how to add a Jest test and a Storybook instance of a component
* _in progress with kyle_
Copy link
Member

@kylemh kylemh Aug 5, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ - I had a brain dump in #javascript that we can organize into docs for the repo


* Discuss moving shared components into UI Lib via NPM
* _check with kyle if this is still necessary -nell_
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't know this was a plan. We can definitely do this, but since we only serve a single application rn, it doesn't seem necessary.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nellshamrell - deprioritize


* Set up new Code Climate account - this will help give us insight into the health of our codebase, and ensure we are using best practices and keeping it beginner friendly!
* ~~Set up new Code Climate account - this will help give us insight into the health of our codebase, and ensure we are using best practices and keeping it beginner friendly!~~
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done on the new code base anyways 💃

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hollomancer can investigate this for backend

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Never mind, this is already hooked up lol


## Infrastructure

* Staging Environment for operationcode.org - this is the number one priority, currently we can only run operationcode.org components locally or in production, we need a staging environment we can deploy to and test components in a production-like environment before deploying to production. This is essential and gives us a strong safety net for testing the effects of new commits before they go to production.
* *P1* Staging Environment for operationcode.org - this is the number one priority, currently we can only run operationcode.org components locally or in production, we need a staging environment we can deploy to and test components in a production-like environment before deploying to production. This is essential and gives us a strong safety net for testing the effects of new commits before they go to production.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done on the new repo via preview deployments on a per PR basis 😁

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kylemh is using Netlify and Now for this

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nellshamrell - Ashley and Walt to discuss backend staging env implementation, @kylemh to alias preview builds with backend staging env

@@ -13,46 +13,60 @@ Here are my current thoughts on a roadmap for our overall engineering organziati
## Overall

* Open Source Basic Training - this will be a guide to getting started with Open Source. This needs to include lessons (links to particularly good blog post tutorials, etc. are welcome) on Git and Github. Git is often a major hurdle to getting started - we need strong and very visible learning materials on the essentials of git. We also need a repo that users can immediately contribute to to put their git and Github skills in action - perhaps a repo of text files that a user can add their name or something else to? The goal of this basic training is to familiarize someone with the workflow of git and Github - which is critical to contributing to any or our projects. This should also include a brief guide to each of the major Operation Code Open Soure Projects - what technology they use, links to 101 guides to those technologies, etc. Members should receive a link to this training immediately when they join the org.
* _still a big priority -conrad_
* _we have the pieces in place but need to get them all together -ashley_
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nellshamrell - Need a central place for the open source contribution stuff to live
@jjhampton - Need to get people to CONTRIBUTING.md
@kylemh - maybe a webpage for contributing through the main site?
@nellshamrell - a central place for where people can get started for contributions, where I learn about Git and Github. START_HERE has some of it, but it needs to get more traffic
@jjhampton - webpage would be awesome for this

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do we feel about pushing some of this off into existing public resources?

e.g. evaluating and recommending solutions like the top 3 google hits: https://opensource.guide/how-to-contribute/ or https://www.firsttimersonly.com/ or https://medium.freecodecamp.org/how-to-make-your-first-open-source-contribution-in-just-5-minutes-aaad1fc59c9a

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree. We shouldn't try to re-invent the wheel in educating people on git. Our website and documentation should be specific to our repository, and link to other resources for general topics like how to "React" and "Git" and "GitHub"


* Host docsify page on docs.operationcode.org - we need to have our docs in one easy to find and easy to navigate place, this is essential to making sure people can find the information they need quickly.
* ~~Host docsify page on docs.operationcode.org - we need to have our docs in one easy to find and easy to navigate place, this is essential to making sure people can find the information they need quickly.~~ _deprioritized, github will suffice for now -nell_
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kylemh - I still think this is a good idea. Ensures what we are putting in markdown files makes it onto our website. Hoping once we migrate the frontend this will be easier to implement. We can have Docsify update every time master is released.
@jjhampton - Once we have all this documentation on Github, is it a one-step process to migrate over to Docsify?
@kylemh - basically it acts like a lot of other boilerplates where it exports as a static bundle
@nellshamrell - deprioritized, but we can come back to this


## Backend

* Deploy interface for execs to query the database (possibly Active Admin or Forest)
* ~~Deploy interface for execs to query the database (possibly Active Admin or Forest)~~ _done!_
* As operations, I want the member list in the backend to contain both signup *and* Slack information, so that I can have a single view of our membership base.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hollomancer - This is a P1 for @JennWeideman and I
@nellshamrell - Need to find ruby devs and sort out procedure to onboard with Kelly

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a current WIP for both pybot and BE.

BE issues: 312, 319, 320, 322 are all related to this. The idea is use pybot as a way to register email and user information updates from slack api, and transmit this to the BE.

Here's his high level view before it was broke out into individual issues: OperationCode/operationcode_backend#314

Issues 1 and 5 are done. 2, 3, 4 are waiting.

If this is P1 for @JennWeideman maybe get @dmarchante to review the status and make an epic or something to track this progress?

* Add ability to run Cron Jobs (need help of infrastructure)
* ~~Add ability to run Cron Jobs (need help of infrastructure)~~
* _need more info, was requested by harry -ashley_
* _deprioritized until we have a backend lead - nell_
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ohaiwalt - haven't gotten a solid understanding of what this is needed for
@nellshamrell - deprioritized for now

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jjhampton - check out @hpjaj's PR for more info on this

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Existing cron-job PR in backend: OperationCode/operationcode_backend#257


* Implement an authentication strategy/option to secure and expose the API (for non-signed in user consumers, i.e. Slack, apps, etc.)
* _need more info from long_common_name -nell_
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to follow up with @wimo7083 on this

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

harry came up with a good idea for how to integrate pybot into BE. For now we can use that for this one case and treat pybot as a main focal point so I don't have to re-architect in ruby.


* Secrets Management Solution
* _deprioritized since there is a way to do this through Kubernetes right now -nell_
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ohaiwalt would not recommend Vault just yet

@hollomancer hollomancer merged commit 8161632 into master Aug 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants