97 karma · joined November 7, 2013
Well put.
Yeah I'm not 100% sure yet what level of Django experience is required to use (or at least appreciate) Forge? Should you have used Django at least once before on a project? Gone through the official Django tutorial maybe (https://docs.djangoproject.com/en/4.0/intro/tutorial01/)? At the moment, if you have not actually used Django before then I probably would recommend you go through their tutorial and THEN try Forge (or watch the video / read https://www.djangoforge.dev/docs/start/).
Some differences will immediately jump out — they'll tell you very (very) little about how to manage your dependencies, local environment, hosting/deploying, configuring settings with "secrets" for local vs production, the fact you'll probably want a custom AUTH_USER model later and it will be super hard to change, etc. But yeah, to sell those as differences, you do need to have a baseline familiarity or else I need to do a really thorough job of explaining and pointing them out ahead of time.
I think the gist, if you compared vanilla Django to Forge, would be that vanilla Django is almost completely open-ended. There are a lot of decisions you're going to have to make, and research you're probably going to have to do. Forge removes a lot of those decisions and makes them for you. Some are easy to spot up front, but others not until you're further down the road or have more experience...
> Can you make a video, where you show how to make a full fledged SaaS with django-forge and deploy it? How long would that video be?
Videos are absolutely the way to go. I'll try to do more and run through more of the parts and maybe a complete process. That first video I made stops short of deploying to Heroku, but it's maybe 5 minutes away from being deployed. Beyond that, basically every "topic" in the sidebar could use at least one video.
From what I understand, the update process for Pegasus is also a little bit more manual? Forge is intentionally set up to be a git remote, with directories and stuff named so that an update is essentially `git merge django-forge/main`.
Probably lots of little differences when you get into it — just different decisions from different people. Hoping to document more of Forge soon!
Honestly I feel a little weird "competing" directly with something like this, but such is life. Thanks to everyone who has made something similar (in any ecosystem), which is part of what got me over the hump of thinking it was even possible. I'm glad Django is getting some options and new ideas!
On the 1 customer vs 100, I totally lean towards the 100. I have a blend of these with https://www.pullapprove.com/ and the higher the price, the more it feels like you just work for them. Pros and cons, but personally I don't want something that looks like freelance/consulting/employment.
> Maybe it’s more for people who are about to start a second revenue project.
I do think this is an interesting point that's come up a couple times now.
For what it's worth, I just added a 50% discount to the top of the page for the time being.
Would have no issue with some people paying for access, borrowing some stuff, and being a part of a "community" of people sharing variations of the ideas and occasionally factoring that in to the Forge code itself, copying it out, etc.
This is an important point, for me anyway.
Yeah $1000 can be a lot for an individual (myself included), especially for a hobby/side project. For individuals, at this price, it's probably more of "I've built a small revenue generating project before, and I'm going to skip some steps this time + connect with some other people doing it in a similar way"?
> Things like django-coookiecutter are great, but they only really cover the project structure.
Would also recommend people listen to the first episode of https://www.frameworkfriends.com/ if they are thinking about these kinds of things.
> why would any business want this?
An existing business building a new product? A new business getting off the ground? Don't know exactly yet.
Me too — trying to figure that out!
> but that project needs to be basically non existent while also being somewhat serious
Super interesting point. I've helped integrate it into some existing projects and it is not fun.
> In what way is it more than an expensive cookiecutter repository?
I don't disagree with this. A couple differences in my mind are support (that you're paying for, and has an incentive to be as helpful as possible) and on-going updates (a cookiecutter won't help you integrate improvements over time, as far as I know).
Pricing is totally an experiment right now, and I shot high on purpose. Suggestions?
Happy to give out some discounts if people are interested in that.
Totally unproven yet, but I also think there could be an interesting community aspect. If everybody "in" Forge is essentially paying to be there, I think could have a really great place to ask questions and get help from people who are building stuff with a similar mindset to yourself.
I'm finding it super helpful for my own purposes if nothing else. There are some topics that Django (understandably) doesn't get into, but also some rough edges that could use smoothing over (in my opinion).
Code review "rules" can get pretty complicated since everyone works a little differently...not sure if GitHub will ever try to tackle that or not but we've got a lot of customers who are happy with how PullApprove fills the gap.
In full disclosure, part of the reason I'm asking is to do some research for a product of mine: https://pullapprove.com. Currently I feel as though it serves as a fairly flexible platform that can accommodate either (or both) of the strategies in various ways, and just want to make sure things are headed in the right direction. As you mentioned, the process for choosing reviewers could be handled several different ways and I wonder if there's room for some tools to assist in that. An interesting one to me (which PullApprove doesn't yet support) is automatically choosing reviewers based on git blame information (https://github.com/facebook/mention-bot) -- which could get at your last point.
I feel like there's a ton of value in doing code review that, I personally, drastically underestimated for a long time. I'm interested to hear more about the kinds of problems different groups have with code review and trying to figure out if/where/how a tool like PullApprove can alleviate some of the pain and make it an easier process to adopt.
If your scenario only has two users (you and one other person) then this flow can already be accomplished (the two are both reviewers, and you set approval required by "everyone" -- so you approve your own PR and then the other user has to also). If you've got more than two users, that's something we'll have to add but it sounds like it's worth doing!
Even in the case of forked repos, I think PullApprove can still have some benefits. Ex. Someone forks and makes a pull request, but it needs to be reviewed by two key developers before it should be merged. PullApprove could help to formalize that process, requiring that both of those developers mark it as "approved"...
Does that example apply to your workflow? Or is there anything else about your process that a service like PullApprove could formalize? I'm looking forward to hearing more about how other teams deal with some of these issues...