Dev blog 03/09/2018 - jobs, laravel tips & tricks and release date
Dev blog 03/09/2018
It has been a long, long month since we last spoke. Much has changed, leaves are turning brown, the weather is colder and slightly more wet than before. We are a step closer, and you have been very helpful in testing the beta.
This devblog will be about a whole variety of subjects. First and foremost it will showcase the new job system that I have promised to talk about before release. Secondly I want to share a lot of tips and tricks in the form of undocumented Laravel features that you may or may not find super useful for your own projects in the future.
Last but not least I want to talk about a possible release date for version 3.0 as well as the current status of the beta.
Jobs
Anyone who has used the beta has had the chance to already check jobs out, and may already know most of what I'm about to showcase. But here goes.
The new job system is a bit different from the current one, but the only difference is how safe both parties can feel.
The new system relies on a pay to unlock "middle-man" system where the job taker uploads their work when they have finished. This unlocks a pay feature for the job author, once the job author pays the download and installation instructions unlock.
The job taker also gets a "I have been paid" button incase a different agreement other than payment has been made.
Before anyone gets to pay the job author and job taker re-negotiates the budget and agrees on a price.
In addition to this there's also a new feature that allows you to use our "protection" feature. This feature makes it so payment is not unlocked immediately as the job taker uploads their work, instead it waits for a moderator to check that the files are what they are supposed to be.
Here's the process broken down in pictures:
Job creation
Job page
Apply
Finish work
Budget negotiations
Upload work
This is usually where there would be a wait time for a moderator to check the files, if protection is enabled.
This could be slow but the trade-off is that you know the files are legit. You can turn it off or on at any time.
Pay manually outside GmodStore
Pay through GmodStore
Licenses
Licenses are also explained way better now.
Laravel tips & tricks
Development of v3 has been going on for a few years now, and we have picked up a lot of tips and tricks a long the way using Laravel.
For some reason Laravel has a lot of undocumented features, I am going to tell you about a few of them today:
->when()
Let me start with my favourite,
when is useful when you need to add filtering/searching to a model or raw DB query. The content of the function will only run when the condition is truthful.
->is()
This is useful when you need to check if a model is the same as another model, the example below checks if a user is the same as another.
->whereX()
You can actually dynamically create where queries on the fly. Say you're querying a model that has a user_id column:
->whereRaw(), ->orWhereRaw(), ->orderByRaw()
You can run raw DB queries on a model using this method. The below example is not ideal as you are not supposed to use BETWEEN, but you get the point
model boot() method
In a model you can override the boot() method in order to run any function or override any attribute you want on model creation.
->withDefault()
Include a blank model with exists set to false and an id of null instead of null on a relation.
Very useful if you do not want to do compare a model to null to check if it exists, and rather use methods on the model itself.
->chunk() vs ->cursor()
chunk() and cursor() have some minor differences, but can make a huuuuuge difference in migrations:
->replicate()
This is an easy way to replicate a model
Possible release date
Since the beta started we have fixed over 85 different bugs, perhaps even more that we have not documented. We feel like we are ready to give you an approximate release date:
15-16th of September
During this time the current website will be mostly unavailable, you will not be able to purchase anything or post any comments, new addons, or anything like that. You will still be able to use read functions in the API and download your current addons.
We are also thinking about opening the beta to everyone, to be able to test functionality for regular users as well.
As usual, keep replies and discussions civil.
If you want to keep up with development you may join our discord and keep an eye on the #commits channel.
cool
you guys have been working hard and its looking good and I prefer the paying for jobs through gmodstore
The jobs section is going to be so much better now, that was a good idea. And that’s pretty surprising that all of those functions aren’t in the documentation, it is definitely very useful. Let’s hope that the release of v3 is smooth. Good job guys, we all acknowledge all of the hard work you do for us :)
Great job at making a lot of progress on V3 recently. I saw you guys pumping out commits earlier when you first released the beta, good stuff. I'm very excited to see how this marketplace handles in the newest version.
Nice progress on v3 guys, I'm excited to see the update go live!
I love the design of the V3, it makes the site much more modern !
Here's another "this is great!" comment. The new look and features are too spectacular for me to not say anything and everyone working on this has my appreciation.
Looks awesome!
I know it's late as fuck, I've just found I can't rate anymore in Jobs, I've just had the WORST experience with someone that literally made a job almost impossible, lack of communication, lack of description on everything, lack willing to understand any on gmod scene
I really would liked to leave a red flag for someone that wants to work with this guy in the future, but seems like it won't be possible
It's not a reason to ban someone at all, but seriously, this guy shouldn't be able to create jobs, he got several jobs delete, all with the same cause, poor job description, not replying PMs, and being just apart from everything what happens, you can see 2 of his jobs in the jobs sections and instantly know about who am I talking about, so I don't need to point anyone
I really would like to get an implementation of reputation again, not because only this, because I really like to make people know that it were a nice experience to work with cool guys that knows the minimal about this
Nice I like that :)
Good Job!:)








