Jump to content


  • Content count

  • Joined

  • Last visited

About rallport

  • Rank
    Laravel 5 Rocks

Users Experience

  • Experience
    Web Guru
  • Area of Expertise
    Web Developer

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location
    England, UK

Recent Profile Visitors

37,788 profile views
  1. Sounds like your client is getting a very good deal - new custom site, bespoke design, ongoing seo, ongoing support etc. You'll also need to factor in "soft time" for emails, telephones calls, training etc. Whilst there isn't anything immediately wrong about taking a percentage cut I have see first hand some of the issues it can cause: What happens if it takes to several years to make your time back i.e. just break even When does the arrangement stop? How will clients report sales figures to you Will the site in question take priority over other projects? Basically, ensure you have a watertight contract (something you'll need to invest yet more time your end) to cover everything. Personally, if I was forced to enter into this type of arrangement I'd start with a good base like Magento 2.
  2. I have a Limited company. Some accountants let you use their address as your business address. Hire an accountant immediately. If you're planning on doing everything yourself you're very very naive. Accounting is a specialist area and something worth paying for. Surely you'd want to be managing your customers hosting as opposed to worrying about VAT calculation, end of years account, PAYE tax etc. Besides that, there's the whole liability shift benefit of having an accountant. If doing everything yourself you alone are liable for any issues with HMRC. When an accountant does this for you the liability is with the accountant. For what an accountant will cost (I pay ~£2500 per year which includes quarterly tax, advice, vat, PAYE, expenses, lots of meeting which are worth their weight in gold (one saved me £11,000 last year) etc. As everything gets done for me it pays for itself immediately and isn't really a lot in the grand scheme of things. Remember, a good accountant will save you money. I don;lt fully understand why but several accountants have said the same to me. If you're turning over less than £25,000 k per year is makes more financial sense to register as a sole trader. If you turn over more than that it's better to register as Limited company.
  3. HTTPS won't display some of my graphics.

    https://www.whynopadlock.com/ is sometimes useful too.
  4. HTTPS won't display some of my graphics.

    Why set a protocol at all. IF CodeIgniter hasn't changed since I used it years ago you can set a base url. Simply set this to "/" to avoid issues. However, based upon the plethora of threads you're opening recently about HTTPS it sounds like your have server configuration issues.
  5. Ajax POST request doesn't work with HTTPS

    Firstly, you ajax script is blocking - when you wouldn't make it async in 2017 is beyond me, but still. We have promises to play with now What is the exact response from your server when you make a post request to the secure endpoint? Try running the request using something like postman to save your sanity. Anyways, I've only come across this once. When I making a get request to a https url from a none http page. I'm fairly sure the "withCredentials" and contents types params are not required. If you're sure your server is correctly configured try building up a very simple post request first that posts to a very simple script (that returns the posted data). i.e. $.ajax({ url: "/your/simple/url", method: "POST", data: { id : 123, foo : 'bar' } }).done(response => { console.log(response); }).fail((jqXHR, textStatus) => { console.warn(textStatus, jqXHR); }); If you're still running into issues try looking into using jsonp. Also, why still JQuery for ajax (or Jquery at all!)? Have a look into the beautiful Axios
  6. Nebula looks good. I really like Tailwind too. The only thing that puts me off Tailwind is the build process, using JavaScript / Npm. Would really prefer some well structured sass files. It's kind of annoying that Twitter Bootstrap has become such a standard that everything is compared against it. People, it's possible to create a site without Bootstrap in 2017
  7. Hosting For Small Sites

    Have to say, I have a Tsohost account on their cloud hosting for smaller sites. The UI is fine, never had any issues in 5 years. Downloaded a database backup a couple of days ago too. Add email accounts every few days too, no issues.
  8. Bootstrap is a UI Kit. Nebula seems to be more of a utility base for your project. https://tailwindcss.com/ is similar too. For clarity, not every project has be based upon Bootstrap. There are some projects where it's preferable to have no styling/assumptions made for you. Shock horror, CSS is still written!
  9. Bloody customers!

    Your first mistake was in your opening sentence: That statement alone gives the customer literally all the power and freedom to do whatever they want. It opens you up to unlimited designs revisions and a point to which could state "I don't like this, start again". You must have some form of contract/agreement in place. I cannot this stress this enough. I'm a freelancer developer, but work with a lot of designers when necessary when customers require a bespoke design from scratch. Among other things the design related part of the agreement states: The customer must answer my list of questions i.e. a list of questions I provide allowing m,e to understand their business, their competitors, what they like, do not like etc. I provide a list of questions (~ 2.5 A4 pages) that allows me understand their requirements. This coupled with a discussion is absolutely essential and allows me to avoid a lot of nonsense and indecisiveness that goes along with design (i.e. no one is technically wrong when it comes to feedback. Detailed feedback on all designs must be provided i.e. "I don't like it" is not acceptable. "I don't like this because of Ab, B and C, I like part D because ..." etc. This varies from designer to designer, but there is always a limit on major iterations of design i.e. the number of times things can start from scratch, typically 2-3 times. However, I've only had to use this statement once, I work some very good designers who nail the design first time Customer responsibilities i.e. timely feedback etc. Payment schedule i.e. pay x% when the main template is signed off, x% when all inner page layouts have been completed etc. A limit to the number of inner pages that will be designed - avoids clients coming back and requesting every single be designed up. I of course do this when requested though. Again, as with many of these customer horror stories,make sure you have a proper signed contract in place before working with customers. A semi related point - as you freelance more and work with more customers (even as you get older), you'll get better at identifying bad clients. If you wish to freelance that's an essential skill to have. When I started to freelance I assumed no client was "bad" as a client equaled "money". Now I'm more selective of whom I work with and am able to spot signs of potentially bad customers - do not fall into the trap of working with everyone you come across. I always ask one question in relation to this i.e. "Why did you leave you previous supplier?" - all clients have a story for that. If it's a valid reason, that's fine. Some reasons however will raise concerns. i.e. swaps suppliers regularly, annoyed the previous supplier wanted top charge for their time etc. I'm aware you haven't stated the amount of charged for the job. However, take a step back and attempt to estimate the amount of time you've spent in real terms. i.e. soft time (emails, telephone calls, meetings) and physical time (time spent doing the actual job). When you work with a customer as you've encountered in this instance and do not manage the situation you always have additional soft time that eats away at your profit. Repeat this too much and you won;t be around very long (I've seen this happen too many times to list). On the next job you do, keep a tracker of every minute you spend on the task - you'll be very surprised.
  10. Need your advice to choose a VPS package

    It's really not hard if you're willing to invest a bit of time. Additionally, AWS provide solid base images for you to optionally build your server upon. There also Forge, which is frankly amazing.
  11. Need your advice to choose a VPS package

    Yer true. Backups, not a huge issue. I have a single shell script I throw on every site I need backing up - it compress the site files and database into a single Gzipped archive, stores it locally on the server and then pushes the file to s3. There really nothing to "handle"
  12. Security - One DB per SaaS tenant

    Are you using a framework for this? I've recently made one of Laravel my projects 80% Saas based in about 10 minutes using a global Eloquent query scope. I'm using Laravel Passport to handle auth. - https://laravel.com/docs/5.5/passport Seems silly to waste time writing all boilerplate code like that and get on with building something. The part in your approach that seems odd is storing tennant database connection details in your master table. No sure what the point of that is - is this due to the fact all data access by the tennant is performed via an API? Also where you say "Each tenant has their own copy of the app DB" - what is reasoning behind this? I understand the standard security related answer, but your app should be able to restrict access to data easily. Or, will each tennant be huge?
  13. SQL vs PHP: DateTime Issue

    Ensure the time zones are the same on the Web and Database server.
  14. _FILES array

    Two things: Set your form action to sendContact.php As you've named your input "file" you'll need to reference that key within the files array i.e. $_FILES['file']
  15. PHPMailer script password security

    That's an awful link, typical w3 schools. They are not describing validation, they're describing a (crap) method of sanitization. Validation would enforce things like input length, the validity of email or ensuring select values are valid.