Path: csiph.com!news.mixmin.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!newsgate.news.xs4all.nl!nzpost1.xs4all.net!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: UNSURE 0.252 X-Spam-Level: ** X-Spam-Evidence: '*H*': 0.50; '*S*': 0.00; 'subject:Python': 0.05; '21,': 0.07; 'front-end': 0.07; 'cc:addr:python-list': 0.09; 'django,': 0.09; 'python': 0.10; 'url:)': 0.14; 'properly': 0.15; '(free': 0.16; "(it's": 0.16; '(more': 0.16; 'code?': 0.16; 'coding?': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'great!': 0.16; 'subject:image': 0.16; 'trivially': 0.16; 'uploading': 0.16; 'website)': 0.16; 'wrote:': 0.16; 'app': 0.16; 'basically': 0.18; '2015': 0.20; 'cc:2**0': 0.20; 'cc:addr:python.org': 0.20; 'work,': 0.21; 'sep': 0.22; 'programming': 0.22; 'bit': 0.23; 'header:In-Reply-To:1': 0.24; 'mon,': 0.24; 'testing': 0.25; 'figure': 0.27; 'message- id:@mail.gmail.com': 0.27; 'idea': 0.28; 'skip:u 20': 0.28; '---': 0.28; 'about.': 0.29; 'subject:/': 0.30; 'work.': 0.30; 'creating': 0.30; 'code': 0.30; 'minimal': 0.30; 'probably': 0.31; 'posting': 0.32; 'generally': 0.32; 'though,': 0.32; 'run': 0.33; 'loved': 0.33; 'traditional': 0.33; 'similar': 0.33; 'handle': 0.34; 'that,': 0.34; 'received:google.com': 0.35; 'ones': 0.35; 'next': 0.35; 'done': 0.35; 'i.e.': 0.35; 'stable': 0.35; 'something': 0.35; "isn't": 0.35; 'step': 0.36; 'but': 0.36; 'basic': 0.36; 'apple': 0.36; 'urls': 0.36; 'pm,': 0.36; 'subject:: ': 0.37; 'done.': 0.37; 'starting': 0.37; 'doing': 0.38; 'itself': 0.38; "won't": 0.38; 'architecture': 0.38; 'skip:p 20': 0.38; 'someone': 0.38; 'files': 0.38; 'sure': 0.39; 'enough': 0.39; 'where': 0.40; 'some': 0.40; 'easy': 0.60; 'your': 0.60; 'share': 0.61; "you'll": 0.61; 'skip:u 10': 0.61; 'devices': 0.61; 'making': 0.62; 'course': 0.62; 'matter': 0.63; 'service.': 0.63; 'iphone': 0.63; 'more': 0.63; 'different': 0.63; 'information': 0.63; 'you.': 0.64; 'grab': 0.64; 'importantly,': 0.66; 'here': 0.66; 'accounts': 0.66; 'account': 0.66; 'services': 0.67; 'choose': 0.68; 'family': 0.68; 'social': 0.71; 'published': 0.72; 'pictures': 0.75; 'friends': 0.82; 'funny': 0.83; 'cartoon': 0.84; 'cartoons': 0.84; 'chrisa': 0.84; 'devices,': 0.84; 'devices.': 0.84; 'etc,': 0.84; 'google+': 0.84; 'handheld': 0.84; 'pristine': 0.84; 'samsung': 0.84; 'step,': 0.84; 'subject:sharing': 0.84; 'subtly': 0.84; 'to:none': 0.91; 'difficult,': 0.91; 'hardest': 0.91; 'wedding': 0.91; 'tricky': 0.93; 'imagine': 0.96; 'bandwidth': 0.97 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type:content-transfer-encoding; bh=4Uon/PVuP8CsIwl/KEhbQ5qCeU+QGKWbT4rDY9HniY0=; b=nFvhVhO0VDH/th5JHfzlwcCM4Mgyh9wwwNiXVA4WXXvWsRGpk2TRpXROWqcGiNFAQC fDNQP55irlKzNeyxtW+/OxqegHVHfGQmC01WthzPkoXC+YT3siMIlhNocKcHYO4PHIz9 HIklIqaS55YYhUTTDWG7D/wx+IS4f7quKOgigTwpF3Hh9ULTHY1ifxacrGaY92N3vYDK EbGLTUVRCL2+xeSuokMf1jMJ4fzh0g/sHhTADOmCJjMah/eBgk/9dCauu200MlVdyfCS UOFT6pEjOA7F48lajudp8339wGj3a7U0D06VnRocjwause0T4Dgjt1m8+8TpKqv9OmNU LOcQ== MIME-Version: 1.0 X-Received: by 10.50.50.198 with SMTP id e6mr10585365igo.13.1442841458402; Mon, 21 Sep 2015 06:17:38 -0700 (PDT) In-Reply-To: <3de6acc7-6c55-4f78-adb9-960e21bb3617@googlegroups.com> References: <2ee220b0-dfd2-4701-8760-71af9eee9f67@googlegroups.com> <3de6acc7-6c55-4f78-adb9-960e21bb3617@googlegroups.com> Date: Mon, 21 Sep 2015 23:17:38 +1000 Subject: Re: A photo/image/video sharing app in Python From: Chris Angelico Cc: "python-list@python.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Mon, 21 Sep 2015 15:18:00 +0200 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 83 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1442841481 news.xs4all.nl 23756 [2001:888:2000:d::a6]:52639 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:96940 On Mon, Sep 21, 2015 at 10:53 PM, Cai Gengyang wrot= e: > 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 on= es 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/video= s 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 trad= itional social networks like Facebook, Twitter and Google+ accounts and als= o onto their other handheld devices like IPhone , Apple Devices, Samsung ha= ndphones etc > > As for the architecture itself , it will probably be similar to wedpics (= https://www.wedpics.com/) but better designed with gorgeous and pristine fe= atures and a system where users can edit their pictures/photos/videos into = cartoons with different themes with their faces on it (funny, natural, scie= nce) --- 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 you= r faces imprinted on cartoon characters , the have these cartoons published= on the website and also link with other social networks where you can publ= ish 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 on= es 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/video= s 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 trad= itional social networks like Facebook, Twitter and Google+ accounts and als= o onto their other handheld devices like IPhone , Apple Devices, Samsung ha= ndphones 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