An experienced developer who mostly codes in Rust these days, but has worked with Ruby, Python, and a lot more programming languages.
Available for contracting opportunities.
A website to build and share homebrew recipes
License: MIT License
Tag beer as brewed, with brew data such as OG/FG, comment, rating.
Related dates (brew date, bottle date)
Push mail / webhook with reminder on date
Show pretty error pages for 404/500
Export all own recipes as a single beerxml file.
A page with useful tools when brewing.
Add support for competitions, which can be listed and have recipes tagged.
Model: Competition
Fields:
Name
Description
Organizer
Location
Held_at date
Type (competition, challenge, meetup)
URL
Model: CompetitionCategory
Fields:
Name
Description
Competition
Model: CompetitionPlacement
Fields:
User
Recipe
Placement
Competition
CompetitionCategory
Make it possible to upload images on a recipe.
Let owner choose which image should be shown in list (default first uploaded image).
Show image in listing, defaulting to user image.
Add logo on page
Use logo in twitter card/opengraph
Add favicon
Disallow spam bots to register.
Admins should get edit/delete buttons on all recipes and users.
Make sure all resources can be returned as JSON.
Add resource for beerxml details
Serializers for models.
Show more information on each ingredient.
Read info from beerxml, such as notes, aau, gr/L, origin, hsi, beta, humulene, substitutes, form, any calculated data etc.
Show as tooltip, or expanded on click. Replace % with gr/L.
Print button
Fix layout (remove buttons/navigation, full width tables, info on top)
Get style guide definitions from SHBF
Link to style guide info.
Automatic mapping of different styleguides to shbf.
Show sub title of style category in recipe header
Import Beersmith bsmx files, with automatic conversion to beerxml.
Style as a string isn't supported.
Also, the server should respond with proper error messages on failed parsing.
NRB::BeerXML::Parser::InvalidRecordError (Invalid NRB::BeerXML::Style record
version= ["måste anges", "är inte ett nummer"]
category= ["måste anges"]
category_number= ["måste anges"]
color_max= ["är inte ett nummer", "måste anges"]
color_min= ["är inte ett nummer", "måste anges"]
fg_max= ["är inte ett nummer", "måste anges"]
fg_min= ["är inte ett nummer", "måste anges"]
ibu_max= ["är inte ett nummer", "måste anges"]
ibu_min= ["är inte ett nummer", "måste anges"]
og_max= ["är inte ett nummer", "måste anges"]
og_min= ["är inte ett nummer", "måste anges"]
style_guide= ["måste anges"]
style_letter= ["måste anges"]
type= ["finns inte i listan", "måste anges"]
):
Read all recipes in beerxml file and create one recipe model for each.
Timer not based on the recipe steps.
Possibility to tag times (lap times).
Store values on recipe?
Scale ingredients in recipe to match a new batch size.
Make it possible to switch between different values on the hop pie chart.
IBU/AAU/bitterness ratio (IBU/SG)
It should be possible to mark multiple recipes for deletion.
Instead of making every controller load the list of recipes, make the frontend load them via a an XHR.
Remove recipe list from phone screens, with a link to go to the recipe index instead.
Search/filter/ordering could be done without reloading page.
Recipe index page could show all recipes in a three column grid in main content area.
Move full search form to separate page, or as an expandable div on top of recipe index.
The printed pages should show the graphs as well.
Allow listing recipes as an RSS feed.
Add different ingredients from a list.
Automatically build beerxml file.
Default to only show X number of recipes, with link to show all.
Allow free text search on specific field, especially name and brewer.
Filter based on different ingredients.
Fix uppercase on IPA/ESB etc in style list.
Allow listing all recipes while using a filter.
Brew timer based on recipe, clearly showing current step, time to next step etc.
Calculate based on estimated OG/FG if actual values are missing.
Take into account IBU_GAL_PER_LB field on fermentables.
Add bitterness from "First Wort" and "Mash" hops as well.
Weed out boil hops more than X hours to sort out wrongly added dry hops.
Calculate IBU from whirlpool/hopstand (50% of boil for a hopstand of 90°C)
Default BS IBU calculations:
"-10% on leaf utilization, and a whopping -80% for the mash hop addition"
Druttnezzar has 94 IBU in BS, vs 71 in brygglogg.se
60 vs 41 för "Katt"
TurboDIPA: 75 vs 64
Don't show IBU for dry hops in table.
Use +10% for pellets.
Using Garetz as calculation, and +10% for pellets, the IBU seems to be more correct. Using Tinseth in BS adds about 5 IBU.
Free text search field
Dropdown to select sort order (name, abv, ibu, color, likes, comments, downloads)
Allow users to add reviews of recipes
Text field for comment
Vote
Login using untappd
Link recipe to beer on untappd
Link user to brewery page on untappd
Add links to beer pages from style examples.
Link to original beer for clones.
Show checkins to beer.
Drag and drop files to import them automatically.
Import as private to allow changing them before publishing.
Import from beerxml with multiple recipes.
Allow selecting multiple beerxml files.
It should be possible to set a password for users registered via Google.
If a user doesn't have a password, the password fields should be hidden.
It would also be nice to be able to connect a logged in user to a Google account.
Show brew schedule timeline.
Checkboxes to mark finished steps.
Link ingredients to search/product page on a web shop.
Allow user to choose web shop.
Create a graph over the mash schedule showing amount of water and temperature.
Controller to list latest comments, and RSS feed.
Upload images to user profile
Show images on profile page
Select one image as brewery logo
Select one image as Avatar
Show brewery logo in recipe list, defaulting to avatar
Possibly use yeast attenuation to calculate ABV better.
Check for a better formula.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.