A photo/image/video sharing app in Python

Chris Angelico rosuav at gmail.com
Mon Sep 21 15:17:38 CEST 2015


On Mon, Sep 21, 2015 at 10:53 PM, Cai Gengyang <gengyangcai at gmail.com> wrote:
> Ok, so basically these are the features I want the app to have :
>
> 1) A system where users can upload photos/images/videos of their loved ones and family onto the web-based app (It's going to be web-based website)
> 2) A system where where the users can then edit these photos/images/videos into short , funny cartoons/videos
> 3) A system where users can create an account with username/password/log in information
> 4) A system where users can then share and publish these pictures on the website itself using their account and also link and upload onto other traditional social networks like Facebook, Twitter and Google+ accounts and also onto their other handheld devices like IPhone , Apple Devices, Samsung handphones etc
>
> As for the architecture itself , it will probably be similar to wedpics (https://www.wedpics.com/) but better designed with gorgeous and pristine features and a system where users can edit their pictures/photos/videos into cartoons with different themes with their faces on it (funny, natural, science) --- i.e. imagine you are able to make a cartoon of your bride , family members and friends at your wedding ceremony into a funny cartoon with your faces imprinted on cartoon characters , the have these cartoons published on the website and also link with other social networks where you can publish these cartoons on them as well ....
>
> I currently have minimal experience with programming , and have only done a course on Python on CodeAcademy(That's about it) , so I am posting here to ask for help --- where is the best place to start and resources?
>

You've done the first step - figure out what you want, and (more
importantly) how it's different from existing services you know about.
Great!

The next step, though, is to get some idea of the scope of the
project. Let's take a quick run through your basic features.

> 1) A system where users can upload photos/images/videos of their loved ones and family onto the web-based app (It's going to be web-based website)

Creating a web site using Python is pretty easy. Grab Flask, Django,
etc, and off you go. Uploading files isn't difficult, although since
you're working with large files here, you'll eventually need some
beefy hardware to run this on (free accounts might not have enough
storage and/or bandwidth to handle lots of users).

> 2) A system where where the users can then edit these photos/images/videos into short , funny cartoons/videos

This one's a bit open-ended, but more importantly, it needs a lot of
front-end work. Editing images in Python code won't be particularly
hard; but letting your users choose how those images are put together?
That's going to require a boatload of JavaScript work. How good are
you at front-end design and coding?

> 3) A system where users can create an account with username/password/log in information

Subtly tricky to get right if you do it manually, but trivially easy
to get someone else to do the work for you. Grab something like
Flask-Login and the job's done.

> 4) A system where users can then share and publish these pictures on the website itself using their account and also link and upload onto other traditional social networks like Facebook, Twitter and Google+ accounts and also onto their other handheld devices like IPhone , Apple Devices, Samsung handphones etc
>

Fundamentally, all this requires is stable URLs that people can post.
That's pretty easy (esp if you're using a good framework). Making sure
they work properly on mobile phones is generally a matter of starting
with something simple, and then testing every change on lots of
devices. It's a bit of work, but nothing unattainable.

Your hardest part is #2, and sadly, that's also the part that makes or
breaks this service. Without that, all you're doing is recreating FTP.
So that's what you have to think about: Can you write all that
front-end code? This will not be simple; it'll be a pretty big
project.

ChrisA


More information about the Python-list mailing list