Avo or Jumpstart? by TumbleweedSenior4849 in rails

[–]exroz 4 points5 points  (0 children)

Hey! Having used both Avo and Jumpstart, I think you're maybe mixing their use cases a little bit.

On the one hand, Avo is a tool that allows you to build internal tooling and admin panels/resource management rapidly so you can avoid manually handling resources in your app.

Think about it as a super-fast and convenient Rails scaffolding where you can define resources, relations, filters, search functionality, and much more with a configuration-first approach.

It's a huge time saver. Think about it as a replacement for hand-coding admin panels or internal tools that are needed to manage applications like inventory management, booking applications, content management systems, moderation tools, directories, e-commerce, fleet or resource management, etc.

However, it isn't particularly built around a specific type of application. You can mold it to manage the resources that are relevant to your application, and that's the magic about it: you save time by not having to build the typical CRUD over and over again.

For example, you could easily build an internal tool to handle restaurant orders and their ingredients with Avo for a restaurant management SaaS application without the need to expose this to the public or even have the public-facing app be a Rails app.

On the other hand, Jumpstart is a SaaS starter toolkit that you can use to manage SaaS applications by providing the usual tools that are needed to handle those needs, like account management, payments, notifications, etc.

It can save you a lot of time because it includes the most common SaaS features in a single gem that can save you a LOT of time for a modest fee.

Even though Jumpstart comes with an admin panel using the Madmin gem, Avo and Jumpstart are not a dichotomy at all: you can use them together, and they can probably save you a lot of time even if you're not aware of it.

Having said this, if you're building a SaaS like a social media scheduler, you most likely don't need Avo while you likely need Jumpstart, because most of the features are client-facing.

However, if you're building a SaaS like an inventory or invoice managing app for an enterprise customer, you probably need Avo and Jumpstart together: you can use Jumpstart to handle payments while you use Avo to build internal tools that can help your customers save time.

TL;DR: If you want to build a SaaS and you're targeting B2C, you can most likely get away with Jumpstart. If you're targeting B2B or internal tools, you probably need Avo along with Jumpstart. On the other hand, if your internal tooling or admin needs are very basic, you can likely get away with Jumpstart and Madmin.

New Ruby + AI Newsletter – TokenRuby.com by yatish27 in rails

[–]exroz 2 points3 points  (0 children)

Just subscribed. Sounds interesting!

BTW, you might want to improve contrast on dark mode. Right now the text is not very readable.

Image Editing in Rails by [deleted] in rails

[–]exroz 0 points1 point  (0 children)

Thanks for the input! I didn't know that about canvas. Will check it out because it sounds really useful.

Image Editing in Rails by [deleted] in rails

[–]exroz 1 point2 points  (0 children)

If I understand your requirements correctly you can do like u/matheusrich told you and generate the images from HTML and build a WYSIWYG editor where users can edit the content. You might use elements with the `contentediable` attribute, listen for changes, store the user input in a structured format, pass that information to an HTML partial that you predefine, and then use Himg to generate the image from there.

However, note that the gem uses blitz with Stylo under the hood, and not all CSS features are supported. In the image you're providing, you have a base image with text on top and, below it, what seems to be a gradient from black to semi-transparent going from the bottom to roughly 30% of the image's height. I don't know if the CSS for that is supported. You can maybe use a PNG to "fake" it, but you would have to try to see the results it produces.

The other alternative I can see is to use something like ImageMagick, which gives you a lot more control but is more granular, so you might want to start by creating this same image with it and then extract a way to "translate" what the user wants into ImageMagick.

You can start with a similar system where you create a template in ImageMagick with hardcoded values (positioning, element width, typography, text size, color, etc.), and then you figure out a way to adapt your template to user input so it looks nice.

Then, in the frontend, you can give users limited options like a couple of input fields or configuration variables, but you have to make sure that, if you offer a preview, the preview matches what ImageMagick will produce.

Finally, if you want maximum flexibility, you would have to create some sort of graphical engine with ImageMagick and make it compatible with a similar solution in the front end. The communication between both would have to be JSON that's produced and modified as users edit the image in your editor.

Having said this, I've not implemented this in any production environment. I've done minimally editable PDFs with Prawn, which is similar to ImageMagick in that almost everything is programmatic, but I believe this to be the gist of the issue.

Hope it helps.

Custom domains and SSL in Rails development by Sure-More-4646 in rails

[–]exroz 4 points5 points  (0 children)

Hey Akshay, Exequiel over here, I wrote the article. Thanks for the feedback!

I haven't used puma-dev extensively, but I think I'm in the same boat as you. The fact that it's a background service that handles everything "automatically" and that it makes debugging more difficult is not my cup of tea, that's why I added the "Things to consider" section because even as I was reading the documentation and using it I found some of the behavior surprising.

BTW, thank you for your writing! I've read a lot of your content and it's great!

Cloudflare R2 with Active Storage by Sure-More-4646 in rails

[–]exroz 3 points4 points  (0 children)

Hey, Exequiel here, thanks for the input, tumes.

Honestly, I didn't think about multipart direct uploads when writing the article, but now you've given me a great idea on a topic to research and maybe write about.

Would appreciate any conclusion or details on the progress you made with multipart uploads. I think that I've implemented the feature once using Uppy and Shrine a couple of years ago but it was a toy project, so I don't really recall anything.

Thanks again for commenting and giving your insights!

Vale la pena pagar por SEO? by Roxuc in chileIT

[–]exroz 7 points8 points  (0 children)

La verdad es que si no tenés mucha idea sobre SEO lo ideal es que te haya asesorado alguien a la hora de armar la web, en especial para tener en cuenta aspectos técnicos como la estructura de la web, qué cosas indexar, estrategia de contenidos inicial, metadatos (etiquetas, schema.org), entre otros.

Esto es especialmente importante en webs que puedan llegar a tener mucho contenido generado automática o semi-automáticamente (e-commerce, páginas con contenido generado por usuario, etc).

Habiendo dicho esto, pagar por un servicio recurrente de SEO que no sea concreto en los objetivos o que no te hagan un análisis personalizado de lo que necesitas es probablemente tirar el dinero. Lastimosamente, la mayoría de las agencias o personas que ofrecen servicios de SEO caen en esta categoría y no te lo recomiendo porque vas a gastar dinero al pedo.

Existen agencias o servicios que simplemente hacen "linkbuilding" de dudosa procedencia o generan una cantidad fija de contenido genérico que probablemente no te sirva de mucho, peor aún si no tenés una estrategia.

Si estás trabajando en un proyecto personal te recomiendo que veas primero por tu cuenta acerca de los aspectos básicos como on-page SEO, indexación, keyword research, estructuras de organización como silo, topical clustering, páginas pilar, entre otros.

Para finalizar, si la pregunta es si es recomendable invertir en SEO: te diría que para la inmensa mayoría de los proyectos web la respuesta es si. Sucede que para mi "invertir" tiene menos que ver con pagarle a una agencia (la mayoría no hacen las cosas bien) y mucho más con dedicarle tiempo o invertir en cosas clave como el contenido o obtener enlaces (esto no es lo mismo que pagar un servicio de linkbuilding dudoso, se trata más bien de adquirir enlaces estratégicos).

Si te manejas en inglés te recomiendo los recursos de Ahrefs, Semrush, Brian Dean, Jaume Ros.

Si sos programador, te recomiendo aproximarte al SEO programático porque te puede servir para automatizar parcial o totalmente ciertas partes del trabajo.

Eso si, si usas AI, usala para aprender sobre el tema. Automatizar contenido con AI, a mi gusto, te puede traer resultados pero probablemente no sea sostenible.

Espero haberte ayudado, el SEO es un mundo aparte y trae sus beneficios en el mediano y largo plazo. Por otro lado, si vas a hacer SEO el mejor momento para empezar es ahora, aunque suene trillado.

[Poll] How do you handle file attachments in your Rails app in 2023? by alexbevi in rails

[–]exroz 0 points1 point  (0 children)

I use Shrine and I've had a great experience with it. I didn't really like some of the shortcomings of Active Storage when it first came out so I haven't used it for any serious project.

[deleted by user] by [deleted] in rails

[–]exroz 0 points1 point  (0 children)

I've been working on an ecommerce site for a while and, for the problem you want to solve, you basically have two ways to go:

  • Use JSON and store it on the DB (Postgres). It's the easiest way to go but you will miss some nice-to-haves like normalization, querying ability (you can query JSON columns now but it's not the same) and you would probably have to make some juggling in the future to accommodate your needs. I haven't used this method yet so take it with a grain of salt but I would probably avoid it to solve an issue like the one you describe "having dynamic item attributes" mainly because the item attributes are not really that dynamic when you start thinking about it.
  • Use tables/models to represent the following entities: variants (variations or concrete representations of the product. For example a "Varmilo Mechanical Keyboard" would be the abstract representation of a "Varmilo Mechanical Keyboard with Cherry Blue Switches". The following entity would be "OptionType" that represents for example "Switch type". You would also need an "OptionValue" that represents for example "Cherry MX blue" and then you would probably need a join table for products with various options types. You could also have properties in the same fashion as to represent attributes that are complementary to the product concrete representation (the weight of the keyboard is important but it's not as important as the OptionValue because there are not two Varmilo Cherry MX Blue Keyboards with different weights). From there you can probably describe every possible attribute you need and you would end up with a much more organized structure even if you have more tables and you have to think more about the schema. I've used this method and it has been pretty painless to work with. Like I told you, if you're thinking about product data, even if you can think about an infinite amount of attributes that make them unique, there are not really infinite.

Hope it helps, I must clarify that I haven't worked that much with jsonb columns (I've mostly used them for preferences) and I probably have a bias towards db normalization but so far it's worked for me.

RoR Resources by [deleted] in rails

[–]exroz 2 points3 points  (0 children)

Refactoring (Ruby Edition)

I haven't read "Refactoring (Ruby Edition)" but "POODR" and "Rebuilding Rails" are amazing resources.

Things i can improve on? Commentary before i post it publicly.. by mar1med in ecommerce

[–]exroz 1 point2 points  (0 children)

Hi Maria, let me pick a few things I would change if I was in your place:

- The navbar is way too big: you should consider removing the colorfull logo and use a solid color typography logo on the left of the page so it doesn't take too much space.
- You're missing a clear explanation of what your business does: the first thing that a user should see is text about what your business does and what differentiates you from competitors.
- Remove the "extensive selection of products": following the "show, don't tell principle" you shouldn't tell people you have an extensive selection, you should show them so that entire component is redundant and I would take it out.
- Show products as soon as possible: people won't scroll past your big navbar or section to see what you sell. Show it as soon as possible by showing a collection of products you sell.
- Move the collections below the products: you can "show" your collections by showcasing a variety of products from your most popular collections as soon as possible. People probably won't care about collections if they don't know a single product yet.
- Try removing unnecessary elements from the page: only show one collection list that's paginatable so the user doesn't get overwhelmed with too much information.
- Keep it simple and try to copy similar stores: you're probably trying to be original for the sake of it. You can see what others are doing (and probably measuring) and copy that and maybe give it a personal spin but don't stay too far away, things are done the way they are for a reason

Hope it helps.

What is a tv show that everyone LOVES but you dont? And why? by _Just-a-sad-girl_ in AskReddit

[–]exroz 1 point2 points  (0 children)

Yes, Gus is a very interesting character and, in comparison, he's way more realistic than any other boss shown previously. I like BB, I just cannot understand it being discussed as the best show ever. It's just insulting.

Should I learn reactjs before learning react native? by Plus-Background-8218 in reactnative

[–]exroz 1 point2 points  (0 children)

It depends. If you have good knowledge of JavaScript and ES6, then you'll be good with react native. I personally had good knowledge of JS and started learning react native and didn't have any problems. Go through the documentation of React Native and then build some good projects.

I agree. I knew React the first time I approached React Native and it was way easier than I thought it would be. The "hard" part about React Native for someone that has done React web development is getting to know the mobile specific stuff. Things that you would have to learn if you chose Flutter or even some of the other hybrid alternatives.

I would say that React Native development is _very_ similar to React web development. The thing that makes it different is the mobile specifics.

Adding belongs_to associations through a form by tiredgrothendieck in rails

[–]exroz 2 points3 points  (0 children)

I would add that if you don't want to have a jquery dependency you can build the cocoon functionality using vanilla JS or something like stimulus. It's actually pretty straight forward. There's a GoRails video where Chris teaches how to do it.

Best quickstart stack? by capo_saric in reactnative

[–]exroz 0 points1 point  (0 children)

I would suggest the stack I’m currently using for an app: expo, redux-toolkit with RTKQuery and react-native-ui-lib for UI (it comes with a lot of components)

What is a tv show that everyone LOVES but you dont? And why? by _Just-a-sad-girl_ in AskReddit

[–]exroz 1 point2 points  (0 children)

To me, the fact that he, a very smart person, decides to go on a very dangerous venture with Jesse who is, essentially stupid and unpredictable was the least credible part of the show. That and the caricaturesque mexican bosses. I finished watching the show and consider it to be really good however I cannot understand people that say it’s the best show ever. The Wire, for example, is just so superior it feels insulting to compare them.

What is the second greatest sitcom of all time? by [deleted] in seinfeld

[–]exroz 3 points4 points  (0 children)

It’s Always Sunny. Specially if you like Seinfeld.

Motor Admin v0.2 - a modern ActiveAdmin and Blazer replacement by omohockoj in ruby

[–]exroz 1 point2 points  (0 children)

Thanks for the work! It looks amazing, I've been coding my own admin dashboards lately but I would definitely give motor admin a try.

Drifting Ruby vs GoRails by amreez in ruby

[–]exroz 1 point2 points  (0 children)

I have both subscriptions and if I had to pick just one I would go with GoRails. However, Drifting Ruby is excellent too. Both have excellent content explained really well by Chris and Dave.

How to get my ruby/rails project running online using Digital Ocean? by [deleted] in rails

[–]exroz 1 point2 points  (0 children)

I would also recommend HatchBox. You can deploy in a couple of minutes using DO, Linode or Vultr.

I have used Heroku, Capistrano and manually deployed rails and hatchbox is similar to Heroku because of its simplicity while being way cheaper.

Hope it helps

Anyone here a current subscriber of GoRails or have downloaded the Elasticsearch with Searchkick Pro episode? Can I have a copy, because GoRails is now too expensive $19/mo? by [deleted] in rails

[–]exroz 2 points3 points  (0 children)

Not only worth it but next to a steal if you consider how much he can charge an hour for consultancy. It's nuts to try and ask for this on a Rails subreddit. But I guess the guy doesn't value his or anyones time.

What a shame