Hey CodeNewbies! I am Christina the Open Source Community Manager at Forem.
Forem is an open-source platform for empowering community like this new CodeNewbie communityπ.
Are you interested in Open Source? Looking for somewhere to contribute but don't know where to start?
The Forem team is always looking for open source contributors to help improve our projects!
Here are some resources to get started contributing and a list of beginner friendly issues you could work on.
Github Open Source Guides
If you don't know much about Open Source a great place to start is Github's Open Source Guides.
These are guides that will help you make open source contributions, whether you are a for first-time contributor or a veteran.
Documentation
Before opening issues or a PR you should always check out the contributor documentation.
Contributor documentation will help you get set up, give you details on opening issues and PRs, and help you know where to ask questions.
Documentation is also a great place to add your first contribution. As you are working through getting set up on a project note any issues you encounter or grammatical problems and create an issue for them!
Questions
Itβs okay to ask questions!
Making your first contribution to open source can be scary or confusing. Asking questions is encouraged as you work through issues. Check out the Github developer guides for tips on asking good questions and effective communication.
Good First Issue
Many open source projects will have a label specific to new contributors called good first issue
.
I'll highlight a few of our current good first issues
. To see a full list you can check out the label here.
Refactoring
Refactor spec/requests/admin/configs_spec.rb #12283
Per @atsmith813's great suggestion in https://github.com/forem/forem/pull/12281, in an effort to make the specs in spec/requests/admin/configs_spec.rb more resilient to changes in our default SiteConfig values we should update them to remove the hardcoded defaults.
For example, we have
it "updates rate_limit_feedback_message_creation" do
expect do
post "/admin/config", params: { site_config: { rate_limit_feedback_message_creation: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_feedback_message_creation).from(5).to(3)
end
We should update this to check the default value rather than the hardcoded 5
it "updates rate_limit_feedback_message_creation" do
expect do
default_value = SiteConfig.get_field(:rate_limit_feedback_message_creation).dig(:default)
post "/admin/config", params: { site_config: { rate_limit_feedback_message_creation: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_feedback_message_creation).from(default_value).to(3)
end
There are multiple specs that behave like this. To complete this task you should update all of them.
Use rate limit modal to alert users of rate limit exceeded warnings #11500
Describe the solution you'd like
A generic modal for rate limit warnings was added in https://github.com/forem/forem/pull/11102. It would be idea if all places in Forem that warned a user about rate limits used that model.
Start with app/services/rate_limit_checker.rb
and trace back paths from there. Some examples:
- creating too many reactions too quickly
- updating an article or user too much too quickly
- following too many users too quickly
Bugs
This one has an easy
label and not a good first issue
but still wanted to highlight it here for anyone interested in bug smashing.
All Profile Updates are Lost When 1 Field is Invalid #12284
Describe the bug
When you go to update your profile you can fill in multiple fields at a time. If you fill in many of those fields and then submit form, if 1 field is invalid you will receive an error message and none of the fields will have been saved. This can be very frustrating if you spent a lot of time filling them all out and only 1 was wrong.
Fields I had previously all filled out:
To Reproduce
- Go to edit profile page
- Fill in multiple fields but make the summary very long.
- Click save profile information at the bottom
- You should receive an error that your summary was too long but nothing else was saved.
Expected behavior
We should save what we can and only skip saving those fields that are invalid.
Feature Request
Feature Request: Series Liquid Tag #3046
Is your feature request related to a problem? Please describe. There are other requests for features related to Series, like enhanced UX (https://github.com/thepracticaldev/dev.to/issues/2558) or a landing page for a series (https://github.com/thepracticaldev/dev.to/issues/2424).
Along with those requests to make Series more useful, I would like a way to easily link to a series from within a post.
Describe the solution you'd like Using liquid tags to link to a Series based on the Series' slug. I imagine this would result in a card similar to the one rendered when linking to another post, but it would be tailored to the idea of a Series.
Describe alternatives you've considered Right now when I want to link to a Series, I link to the search where the search term is the Series name.
It's a hack and not great UX, but it kinda works for Series with descriptive names.
Additional context n/a
Thanks!
Badges for contributor milestones #4002
Describe the solution you'd like
Right now we only have one contributor badge awarded when a DEV member makes their contribution. It would be awesome to have two more milestones -- at 32 or 64 PRs merged (we can tweak those numbers).
We're working on badge designs now but anyone is welcome to work on the code part!
If you are still unsure about contributing to Forem you can check out other developers working through issues on our Youtube Pair Programming playlist. In these videos Nick Taylor walks through open issues with different community members.
We also stream pair programming live two times a month on our Twitch channel.
And if need help with general questions please visit our community at forem.dev!
Happy Contributing! π₯³
Top comments (2)
Awesome thanks cool post!!
Follow me on github: github.com/timo-cmd2