Link to home
Start Free TrialLog in
Avatar of streenj
streenj

asked on

Website development when using HTTPS API calls to get/put information

My client wants to have a website developed that will get/put information using HTTPS API calls. The app is in Google APP Engine. Most API calls require basic auth like ADMIN and REST. User credentials are delivered in request header.

Website version 1.0 should have at least these functions (most using API):

- browse images
- users can register an account
- login: no specific login request is needed as the API is stateless. User credentials are required in all request headers (device_token or username & password)
- user can upload an image to server which max dimension are checked
- website is in different languages
- website has an backend to handle things with admin credentials
- website has an full blogging system

I am in no means a web developer (mainly I provide design and basic functionality) so my question is that what would be the best way to handle this kind of scenario? I will of course need to use a developer but I'm unsure what to ask from him. I have been using WordPress for almost all of my client projects and most things like different languages, blogging, facebook, twitter and other integrations are easy to do with it. Unfortunately I don't have any idea how to proceed on rest of the things.

Suggestions with good arguments are appreciated :)
Avatar of Ray Paseur
Ray Paseur
Flag of United States of America image

Please tell us a little more about this, "The app is in Google APP Engine."  Thanks, ~Ray
Avatar of streenj
streenj

ASKER

I don't really know anything more just now. I have just a list of all possible API calls and credentials to use the API. An example API function:

POST /user/register

Create new user

Accept form POST parameters:
Parameter Type required Description & restrictions

device_token String yes You can register without user_id and password with
device_token. If device token is upgraded to use user_id & password it can’t be used to login anymore and gives error.
user_id String
password String
nick String
profile_text String
email String
fist_name String
last_name String
phone_number String

Mobile app uses the same API in the future and I don't have anything to do with developing it. Developer said to me that every functionality that mobile apps or website needs to do (like to get images, register, login, get information from the db and save it to there) will be built to the API.

If more information is needed I will ask from the API developer tomorrow.
OK, let me see if I can paraphrase.  You have the task to develop a web site that will use an API.  Another developer is building the API.  Your part of things may upload files, etc., and will transmit these files to the API for permanent storage.  Does that sounds about right?

If so, PHP makes a lot of sense.  WordPress is written in PHP, so the blogging platform is already built.

A little of the theory and practice of APIs is in this article.
https://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_12239-Introduction-to-Application-Programming-Interfaces.html
Avatar of streenj

ASKER

Yes, that sounds exactly like this situation. So if I decide to use WordPress when creating the theme and blog + custom PHP for API functionality, will for example a new custom plugin for this situation be something to consider? Plugin would show relevant information (like registered users and their profiles) on the WordPress backend and provide functionality for changing/adding info as needed.

Also user authentication (login) on the frontend would be handled by custom API calls and maybe use WP sessions to show for example custom form only to logged in users or that specific user?

What about sorting information when presented in the frontend? Like 1000 pictures with different information fields and user want's to see the biggest amounts first.

I just try to think how this all could be accomplished using WP and what to ask without cornering myself in the future :)
Like 1000 pictures with different information fields and user want's to see the biggest amounts first.
That would suggest to me that your part of the app would want to store the images or at least thumbnail versions of the images.  You would not want to transmit 1,000 images from API storage to your server whenever you wanted to generate a web page.

I expect that custom pages could handle a lot of the application.  A good WP developer would know.  To that end, I'll mark this question "neglected" and highlight the WP Zone.  Perhaps we can get another set of eyes on the issues.
ASKER CERTIFIED SOLUTION
Avatar of DrDamnit
DrDamnit
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of streenj

ASKER

Thank you from your insights Ray and Michael! As this upcoming website is relying heavy on API functions, I also talked briefly with my coder friend (PHP, Ruby on Rails etc.) and he said that these kind of built functions with custom design could be "easily" done using Ruby on Rails. Any ideas about this?
Yes, it often makes sense to prototype with Ruby on Rails.  It's much more "convention" than "configuration" (whereas PHP is the opposite) and the conventional nature makes for faster prototypes.
"Easy" is a matter of perspective. They can be "easily" done in PHP as well.

I am in the same boat as Ray as far as using Ruby to Prototype. But, as far as Ruby for production projects, I am in the same boat as this:

http://youtu.be/5GpOfwbFRcs?t=1m30s

I am a proponent of PHP / MySQL because it is a proven pair with decades of maturity.
Good video!

Yeah, some of the early troubles at Twitter are probably directly ascribable to Ruby on Rails.  There's not a lot of flexibility in the data base structure.  Actually there's probably not a lot of flexibility in any part of it, and that's a double-edged sword.
greetings streenj, What Michael Munger says about a "Case List", or a recording of what is needed in the finished web site, is really, really important for me. I call it "goal oriented" development, If you have a client, and you are the lead developer that has others to do things (code, images (art, icons), api help-reference writers), then you have to be able to tell everyone what results (pages display and site operation) they are working towards. I have seen too many coders, and graphic-artists submit great work for what they made it for, BUT it was Not what was needed for the site page they were assigned. No one ever clearly gave them the specs and requirements for their work to "Fit INTO" the mix of many things required for the end (goal) result web page-site. If the several many people building the site, do not know where they are going, then how can you get there?
If you are the lead developer you Have To find a good balance of telling what they need to have in their work, and at least some about how and where it is affected and affects the other pieces of the mix (wordpress), in the site.
 One last point, in development, the goal-final result site always changes, due to client suggestions (demands), code, frameworks, mobile compatibility, crap page looks-use. You need to be able to pick up on what to enforce (demand to happen), and what to allow to change, to keep things moving time wise. To many will buckle easily to others demands, suggestions,  and have development time go far too long.  As Michael says -"squarely on your shoulders and your ability to prepare for the project and then manage it". Be sure to really listen to what others say, but keep the time spent to get things done to a reasonable amount.
Avatar of streenj

ASKER

Thank you guys so much for feedback! I got so much good information on how to handle this project that I won't (probably) be screwed :)

Technical aspects are though still blurry. Mainly on what language/platform use -> what kind of developer to ask to do this job. PHP+MySQL got some votes and that could probably work in WordPress environment also.

I read an article on modern web application design with WordPress in blattchat: http://blattchat.com/2012/11/30/modern-web-application-design-with-wordpress-part-1/

Do you think that I could tackle this project by using WordPress as a base, handling API calls with AJAX and get the caching, user management capabilities, blogging platform and everything else WordPress provides?

My concern here is that I choose the wrong "route" in this project that it will be very costly and/or difficult to maintain.

As you clearly know by now I'm not a developer but this needs to be done and handled by me. That's why I need a strong basis on how to proceed/who to hire. Insights on "how would I do this/what platforms I would use" are much appreciated. And if you know someone/group/firm who would have the resources and knowledge (and time) to do this kind of work I would be greatly interested.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Did you ever get this sorted out?