
Show HN: Build modern apis with Python3, Docker, and Django 2.0 - agconti
https://github.com/agconti/cookiecutter-django-rest
======
agconti
Hey ya’ll,

I’m the creator of cookiecutter-django-rest. I’m super happy to share this
release with you. This is a big one.

What api frameworks do you use?

What kind of enhancements are you looking for?

~~~
sheraz
Cool! I like to see the cookie-cutter stuff. I used pydanny's cookie-cutter
back in the day.

However, as I've become more comfortable in the Django and python ecosystem, I
have been cutting closer and closer to the stock install.

I think the cookie-cutter stuff is great for when you have a highly-
opinionated way to do things (specific test frameworks, databases, patterns,
etc).

Some feedback:

Authentication:

I looked at your way of authentication, and I kindly ask you take a look at
djoser [1]. They have a nice authentication system for DRF with a password
reset flow.

Or also maybe an integration with Auth0?

Storage:

If you replace boto3 with Apache's libcloud [2], then you make this project a
little more platform agnostic. I say this as someone who works across multiple
platforms. I see that django-storages even plays nicely with it also [3].

And to be honest I'm not so thrilled with Heroku as the deployment target.
Maybe just beef up the README with instructions on getting started just on my
laptop with pip, cookie-cutter, and docker-compose?

All in all, nice job. I'll add my star to your project and consider it next
time the use case arises.

[1] -
[https://github.com/sunscrapers/djoser](https://github.com/sunscrapers/djoser)

[2] - [https://libcloud.apache.org/](https://libcloud.apache.org/)

[3] - [https://django-
storages.readthedocs.io/en/latest/backends/ap...](https://django-
storages.readthedocs.io/en/latest/backends/apache_libcloud.html)

~~~
agconti
Hey sheraz — thanks for the feedback!

Your recommendations look great, especially libclould.

What do you think can be beefed up in getting started docs? Getting setup on
your laptop should be as simple as cookiecutting your app and running `docker-
compose up`. Is there something missing that you’d like to see documentation
about?

I agree with feedback about Heroku. Professionally, I use Kubernetes and I’m
looking forward to when amazon’s managed kubernetes service is out of
developer preview so this project can use it. I’ve kept with Heroku because
its such a nice platform to get an app started on. It allows you to rapidly
develop your app from 0 to 1 without being over encumbered by infrastructure
concerns before you need to be. I’ve also kept it in because the integration
is just pushing to a docker repository. Just changing the repository
destination gives you continuous deployment to anywhere. I like that its
flexible and doesn't lock you into a vendor.

Would you rather have continuous deployment to Heroku removed then included?

~~~
sheraz
Glad to help!

Regarding the getting started, probably just a a section on the steps to
install cookie cutter, then the sample shell commands to bring it up with
docker.

And I agree with heroku offering a good value to get started. However, do you
think your audience is at that level? Furthermore what happens to my app
if/when I graduate to my own server at digital ocean or kube cluster?

Which brings me to another question: who do you think this is for? Beginners
or maybe more advanced devs who are needing to prototype ideas or have a
greenfield project in front of them?

Myself, I am a capable dev with existing infrastructure at hand (laptop and
docker swarm clusters on azure, for example).

Maybe rather than seeing a CI pipeline to heroku you could offer alternatives
to push work from local docker to a kube cluster or swarm? I do that with all
my projects through bitbucket pipelines CI.

