Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Advice sought

Options
  • 04-02-2015 11:25pm
    #1
    Registered Users Posts: 185 ✭✭


    Hi all,
    I have been teaching myself how to code over the past few months(treehouse, udemy, codeschool, freecodecamp, coursera). I have been told that the only way to learn is to work on actual projects.
    So my question to you all is : what will I need to create a clone of adverts.ie? I know some ruby and some rails, jquery, javascript, html, css, and bash.
    Will my arsenal be enough? I do expect to run into countless problems :mad: but I feel I wil walk out having learnt a tonne. What would be best to use? MEAN, METEOR or Rails?
    Thanks


Comments

  • Registered Users Posts: 6,250 ✭✭✭Buford T Justice


    Hi all,
    I have been teaching myself how to code over the past few months(treehouse, udemy, codeschool, freecodecamp, coursera). I have been told that the only way to learn is to work on actual projects.
    So my question to you all is : what will I need to create a clone of adverts.ie? I know some ruby and some rails, jquery, javascript, html, css, and bash.
    Will my arsenal be enough? I do expect to run into countless problems :mad: but I feel I wil walk out having learnt a tonne. What would be best to use? MEAN, METEOR or Rails?
    Thanks

    So what language are you coding in?
    Are you going to use a framework?
    What database are you going to use?
    Does this framework use ORM for the database connection etc...........


  • Moderators, Computer Games Moderators, Technology & Internet Moderators Posts: 19,240 Mod ✭✭✭✭L.Jenkins


    ....So my question to you all is : what will I need to create a clone of adverts.ie? I know some ruby and some rails, jquery, javascript, html, css, and bash.

    Will my arsenal be enough? I do expect to run into countless problems :mad: but I feel I will walk out having learnt a tonne. What would be best to use? MEAN, METEOR or Rails?
    Thanks

    How long is a piece of string? Take a look at the developer tools that Firefox and Chrome offers for your own development and testing. You should take a look at PHP, JQuery and Javascript if you want to replicate Adverts.ie. As Buford pointed out, you'll also have to consider a db, how you're going to connect to and how you'll pass data between the front and back end.


  • Registered Users Posts: 586 ✭✭✭Aswerty


    So what language are you coding in?
    Are you going to use a framework?
    What database are you going to use?
    Does this framework use ORM for the database connection etc...........
    Eh, he answers much of these questions – or at least half answers them with a request for direction.
    Hi all,
    I have been teaching myself how to code over the past few months(treehouse, udemy, codeschool, freecodecamp, coursera). I have been told that the only way to learn is to work on actual projects.
    So my question to you all is : what will I need to create a clone of adverts.ie? I know some ruby and some rails, jquery, javascript, html, css, and bash.
    Will my arsenal be enough? I do expect to run into countless problems mad.png but I feel I wil walk out having learnt a tonne. What would be best to use? MEAN, METEOR or Rails?
    Thanks
    MEAN, Rails, or Meteor. These three options are quite different from each other but are all suitable for the job in hand.

    I'll run through each one and elaborate a bit I guess.

    • MEAN – this is a technology stack, in essence a suite of technologies for each layer of the applications architecture. This stack uses Mongo (M) as a database. This database is a NoSQL database which isn't the typical SQL relational database most people learn to use first. Node.js (N) is used as the server side runtime platform, this platform allows you to build Javascript web applications. Express (E) is a Javascript web framework which provides more functionality than what comes out of the box with Node.js. Angular (A) is a technology that is used to make the client side (i.e. browser side) code more like back end code – in a sense it is used to make web applications more application than website.

    • RoR – Ruby on Rails. This is the equivalent to Node and Express in the MEAN stack. It isn't a stack itself, it is just a language and a web framework. It differs from Node by the fact that a RoR application has to be deployed using a web server whereas Node contains it's own web server. With RoR you can use any database you want and any front end technology. Though saying that if you used Node.js without the MEAN stack you could similarly pick and choose your database and front end technology.

    • Meteor – this is a web platform that tries to do everything itself unlike MEAN which is a loose coupling of different technologies. Similarly it uses Node and Mongo but as I said these technologies are tightly integrated. It is a technology suited to rapid application development. In my opinion it is not a good idea to use Meteor for learning since it performs a lot of "magic" for you. Saying that there seems to be lots of people who love it.
    Ultimately you need to choose:
    1. Whether you want to choose a traditional database and use SQL or go with a modern unstructured data store such as Mongo which does not require you to learn another language.
    2. A database – this depends on you first choice (e.g. MongoDB, MySQL, PostgreSQL, etc.)
    3. A server side language and runtime (Node, RoR, etc.)
    4. A web framework – this isn't essential for Node but most people would still use one, also the frameworks only work for specific server side languages/runtimes (e.g. Rails for Ruby, Express for Node, etc.)
    5. Client side technologies.
    In my opinion using a front end technology such as Angular is overkill at this stage with the amount of work you'll be taking on. Javascript, jQuery, HTML, and CSS is more than sufficient for your client side development needs.

    Based on your experience I'd say you have these choices:
    1. Use MEAN and don't bother with Angular for the time being. The only language you need for this approach is Javascript.
    2. Use Node without MEAN and use a traditional database such as MySQL. The languages you'll need are Javascript and SQL.
    3. Use RoR and use Mongo. The languages you'll need are Ruby and Javascript.
    4. Use RoR and use a traditional database. The languages you'll need are Ruby, Javascript and SQL.

    If you go with option 1 you get to use Javascript for everything. This is definitely an advantage in terms of how quickly you can progress. You will miss out on learning SQL though which is quite important. If you like the idea of going with SQL then go for option 2. I think your better off sticking with 1 or 2 because you'll really get to grips with Javascript which is an integral part of web development. Don't look at using an ORM (if you know what that is) at this point, either use SQL or if using Mongo use the API. An ORM is only for people who know how to use SQL already.

    There is a lot of other things I could have said or other options that could be put forward but I think with the experience you have the above is a good overview of your best options.


  • Registered Users Posts: 586 ✭✭✭Aswerty


    Itzy wrote: »
    How long is a piece of string? Take a look at the developer tools that Firefox and Chrome offers for your own development and testing. You should take a look at PHP, JQuery and Javascript if you want to replicate Adverts.ie. As Buford pointed out, you'll also have to consider a db, how you're going to connect to and how you'll pass data between the front and back end.

    Sorry, but why are you telling him to look at PHP when he has experience with two very languages that are used for back end development?


  • Moderators, Computer Games Moderators, Technology & Internet Moderators Posts: 19,240 Mod ✭✭✭✭L.Jenkins


    Just an off the wall comment. I thought maybe that PHP would be another nice language to have. I see it's best not to confuse things though.


  • Advertisement
  • Registered Users Posts: 185 ✭✭Highcontrast1


    Thanks all for the replies! Aswerty!, thanks a million! I think I will go with option 4.
    I like Ruby more than JS. JS code gets really messy and looks ugly (IMO).


  • Registered Users Posts: 6,013 ✭✭✭Talisman


    Have you used version control software before? It would be a good opportunity to start using Git. There's a good free resource in the Apress published Pro Git. You can setup a free account on GitHub or BitBucket to host your code repository. I'd personally recommend BitBucket if you want to keep your code private, GitHub makes you pay for that privilege.

    Using Ruby and Git would also allow you to deploy your app on Heroku, which is also worth knowing how to do. Just beware that the free tier of Heroku uses the PostgreSQL database and not MySQL.


  • Registered Users Posts: 7,306 ✭✭✭jmcc


    If you haven't studied SQL, then don't attempt a database backed website as a project. (You did not mention any study of databases or SQL in that list.) A site like Adverts.ie is not a toy database website. It might be better to learn to walk before attempting to move at Warp Drive speeds.

    Regards....jmcc


  • Moderators, Business & Finance Moderators Posts: 10,008 Mod ✭✭✭✭Jim2007


    So my question to you all is : what will I need to create a clone of adverts.ie?

    You will get good at coding by reading a lot of code rather than writing a lot of (bad?) code! Rather than starting by trying to start by building something from scratch, try instead to dissect something that has already been written and is operational. Figure out how it was done and try to understand why the developers did it that way.

    Have a look at FatFree CRM for instance. It was developed using ROR, go through it and try to understand how it was done. Then pick another and the same. Then after that have a go at coming up with your clone - base on what you have seen you should have a good idea how to go about it.


Advertisement