We need a fairly simple web application written in Python/Django. I am a software engineer, so you will never have to deal with vague instructions or impossible requests. In exchange we expect high quality work. I will be taking over future development (though if the project runs smoothly, we will have additional development needs).
Our product: A basic ordering system. Users must be able to select and purchase items from their mobile phones. Transactions will be handled through a third party credit card payment gateway.
* Django based web application to handle placing orders. Mysql is our database.
* Very standard functionality (login/logout, lookup stores, view inventory, purchase products, change password). Most of this is already handled by existing middleware/INSTALLED_APPs.
* Django Admin Interface stood up so that we can populate the database with new Users, new Inventory, and manage the content easily. This will be used internally, so appearance is not much of a concern here.
* Approximately 20 UI screens total (we have already done wireframes and layout). This is actually a very small amount of work, because we are working with a 240x320 pixel limitation (since it is for mobile phone). Of these screens, about 8 of these are static content (Terms of Service, legal info, etc).
* Test suites to test major pieces of the application.
* Ability to interface with third party libraries. This includes a credit card payment gateway (eg [url removed, login to view]) and a geolocation service (to look up addresses). We have evaluated options and chosen ones that will work for us, so no need to do this research yourself. If you have experience with a particular credit card payment gateway, we will consider using them.
* (preferred) - Memcache (set up as a wrapper around the Django ORM).
We will provide:
* Visual design (photoshop)
* Technical requirements.
* Cut up HTML mockups.
* Detailed database design (SQL schema and ERD diagram). You will need to add a few more tables/columns, but it's mostly complete.
* Highly competent support. We promise to get back to you immediately when you have questions.
* A Non-Disclosure Agreement (NDA) that you must agree to before starting work.
* Experience with full stack of web development (database, back-end, front-end).
* Ability to separate components (MVC) so that they can be easily extended in the future.
* Can write clean code and has strong design skills. In particular, can handle a database schema with many-to-many relationships.
* (preferred but not required) Basic Linux sysadmin experience to help us get set up on Amazon EC2, enable SSL, and write a deploy script.
If you are interested, please provide:
* Number of years of experience writing MVC-based web applications and the first framework you used.
* Number of Django projects you have completed, and a link to examples.
* Any questions you have. We want you to have all the information you need in order to place a bid.
The right person for this job will be detail oriented and thorough. To that end, please include the words "glorious raincoat" in your response to indicate that you have read this post in full. If you do not include these words, I will not respond.
When responding, please provide answers to the following, in addition to the questions requested above:
* Can you do the small system admin piece described in this post as well?
* Can you develop the app using memcached in conjunction with the Django ORM (as described above)?
For the sake of completeness, I would like to add a few additional requirements of this project:
* I will require basic logging. Easy enough.
* In addition to the third-party services mentioned above (CC gateways and geolocation), the project requires integration with a service for sending text messages. There are python libraries to do this. I can help choose the service or you can do it yourself.
* I will also need a very basic SOAP/REST web service set up that will do extremely basic CRUD operations on orders. I expect this will include approximately operations:(1) authenticate, (2) retrieve orders, (3) record order complete.