Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialneelraina
5,587 PointsBuilding an employee + customer management website
Hi, I have a rudimentary understanding of back-end programming, so any help and direction would be awesome:
I would like to build a website for my business (a music band) where I can handle all the details for: 1) my customers 2) the band members
When I say "Band", we are not the same 4 people that show up to each event. Its more a collective of 12-16 or so "regulars" who all play different instruments etc. So, when I chat to a customer who wants a saxophone player, I say no problem and I pencil in one of our sax players to join the lineup. Having this arrangement is flexible, it allows us to play more than once on the same night - in the busy season we could be doing 2-3 events on the same night - all different lineups but playing under the same name. As you can imagine, negotiating with clients, lining up the correct musicians can be a headache in the busy season. I've used excel up until now, but want to make an interactive database website. I would also like to use it to keep track of payments by customers, and payments to band members.
That's my situation. My question is what programming language(s) would be best to tackle this issue?
3 Answers
Kevin Korte
28,149 PointsPick your flavor. I built a dynamic website in RoR in about 3 weeks, and going into it I didn't know much of anything about Ruby or Rails. I was able to create parts (like air filters, oil filters, etc) and machines (like offroad machines) and assign a single airfilter to all of the different machines it fit. Which than allowed me to view a single machine and see all of my options for air filters, or view a single part, and see all of the machines it would fit.
Now I'm going back through and learning what Rails actually did for me, as there is a ton of magic, which is very powerful especially when you know how the strings are being pulled behind the curtain, not just what strings are being pulled.
Laravel and PHP would also be fine. Laravel has much of the same magic behind the curtain going on. Here are the things I'd consider.
- Consider python. I don't know python, but it is also a viable option
- Hosting options. Who or where is the site going to be hosted? Plenty of options for both, but many less expensive hosts provide PHP but not Ruby, so it's something to look at
- Other devs? Is this a one man show, or will there be other devs coding, which language are most of the dev(s) most comfortable in?
- Spend a day to look at what features Laravel and Rails provide out of the box. Which one provides more of what you need?
These are the answers I'd ask myself. Either Laravel or Rails can be learned easy enough with a little understanding of PHP or Ruby and OOP.
Joe Shiels
19,933 PointsFor a website like that, personally I would use PHP and the Laravel framework as it is quite easy to use. However, you could also learn Ruby and create it using that.
neelraina
5,587 PointsThanks Joe!
Which do you think would be easier for scaling up and customizing in the future? I think PHP + Laravel is easier (or just quicker) to learn than Ruby, so I'm tempted to head in that direction. But I don't want to compromise the quality of the project.
Gavin Murphy
10,004 PointsI would tackle it with PHP and MySQL. If you break the problem down it should be quite managable
neelraina
5,587 PointsThanks Gavin! Appreciate your help!
neelraina
5,587 Pointsneelraina
5,587 PointsKevin thank you so much for taking the time to write this wonderful explanation! You really broke things down, and gave actionable steps to take. Hats off to you!