472,374 Members | 1,517 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,374 software developers and data experts.

Coding a Music Chart System?


I just signed up on here, I found this site by googling.

A little bit about me, I've been building websites since I'm 14, now 23. I know about graphic design as well, my knowledge on the coding side is pretty basic tho, I'm slightly towards the artistic creative side, that's probably why my design skills are more advanced. :)

To my situation:

I'm planning to build a website that will contain a music charting system, like for example billboard.com (with sub-charts like Hip Hop, R&B, Rock, Country, Electro etc.), it will not chart major label artists, but normal musicians that sign up on the site, composers (and not singers) to be exact.

I know that PHP, Java Script and Ajax play a role, I've also found out that this can be done just with PHP.

My Question:

Do you know any resources that you can link me to? That would help me on learning how this is done.

Just anything, doesn't matter if it's an already made open source script that I can look at and learn how it's done, or books, dvds or tutorials, or paid scripts, anything.

I could find lots of information on the internet for all the other stuff I want to implement into the side already, just on this chart system I can't find anything. I've also considered getting in contact with an affordable programmer, but before I do that I want to gain as much knowledge on this topic as I can to be prepared.

Jan 30 '10 #1
10 3247
1,044 Expert 1GB
I'm not aware of any open-source projects, though I'm not very informed on what's out there. However, this doesn't sound like the kind of thing that'd be in demand. It's use is too limited. This sounds like the kind of project that would be produced in-house.

On that note, unless you are looking to hire a programmer, you'll have to learn how to program. I'd suggest studying database design and learning how to communicate with the database via PHP. That will be the most important part of your system. You'll want to know how to order records by weighting (i.e. weighted by popularity, etc.), and breaking them into normalized categories.

You'll also need to know PHP, HTML, and CSS, but I assume those are obvious.
Jan 31 '10 #2
Thank you for your response. Your response helped me to see the picture a bit clearer.

I've already spent more than half of the day with getting into MySQL Databases, at least I'm starting to understand the logic behind it, even though I'm not well versed with all the terminology and what it all means. I still have a lot to learn.

I have another question, when I go to sites like billboard.com and look at the source file then I see an awful lot of CSS and an awful lot of div tags. I see not one table tag, PHP or any Database scripts or anything else of that matter. Are those tags (which I'm looking for) actually there but they are not shown in the source file through Firefox? Or is this a new standard way of programming websites, excuse this question since I haven't been keeping up with the changes in the standards of webdesign for a while. :)

Since the communication between the Database and PHP is the most important part a basic process of the website would look like following:

1. users upload song
2. song *data* gets registered to the specific user in the database
3. database orders song by weighting and gives the information back on the website

Categorical weighting would look like following:

- all R&B songs go in category -> R&B => songs get listed by popularity (e.g. ranking from 1-1000)


- latest uploaded songs go in category -> newest songs => ordered (weighted) by date: from latest to oldest

This all makes sense and I'm seeing the picture much clearer than when I first had the idea. Funny part is that it all seems pretty basic, even though there's a hell lot of work, time and technical knowledge on the programming side involved.

If anyone has any links where I could learn how a system like above described is build, I'd really appreciate that. A categorical listing with weighting by popularity.
Jan 31 '10 #3
431 Expert 256MB
I see not one table tag, PHP or any Database scripts or anything else of that matter.
Table tags in HTML are considered to be old fashioned for page layouts now days and designers/developers are opting for CSS layouts and not just to be fissionable.

As for php scrips you should never see them in your browser view->source as php is run by the server and not by the browser. I am not trying to patronize you but IMHO you should start with simpler examples, study php and mysql on some smaller examples. Maybe get a book that will guide you through the programming language, there is so many out there.

If anyone has any links where I could learn how a system like above described is build, I'd really appreciate that. A categorical listing with weighting by popularity.
If you enjoy the process of learning you'll get there, but if you only trying to do something fast than better hire someone. I am sure that almost everyone here started with "Hello world" example. I know I did. :)))
Jan 31 '10 #4
zorgi, as I stated many times, maybe it wasn't as clear my goal is not become a crack at programming, my goal is to develop a project. And I'm only digging deep into this to get a picture and to be prepared once I hire a programmer. Think about it he'll want to ask me how I want the script, and with no knowledge at all I will not be able to answer him.

But after doing research I'm able to tell him, it should have a, song_name, song_id, artist_id, category, and rank in the database, see where I'm going? I'm able to tell him in one simple sentence it should be a categorical list with weighted popularity.

Learning a language properly can take up to a year and even more, and I don't intend to invest that amount of time just to learn one little aspect of my goal, I'd be finished with my goal in like 3 years, till then there's no demand or someone else came up with a similar idea already.

It wasn't my intention to come off as the guy that skips and tries to get in as much and as fast as possible, my apologies if it did, my intention is to get an overview and understand the logic behind it, not to become a crack at this.

Call my position entrepreneur / producer if you want, I didn't want to put it like that because it sounds more important than what I'm doing right now lol.

Of course I'll still do things myself where I can, I'll do the CSS since it's pretty simple, and other simple scripts, and of course the design since that's what I'm good at.

As I stated doing the database work seems to be a lot of work combined with technical knowledge, so I'll likely not be able to do it myself.

At the same time I see nothing wrong with *not* internalizing the material, instead just getting an overview and a *feeling* for it. Maybe you just thought I wanted to become a programmer.
Jan 31 '10 #5
1,044 Expert 1GB
That's not true. You're talking to programmers right now. It's our job to take what you say, regardless of how unclear it may be, and turn it into something complete and concise. Most of my clients aren't sure of what they want, from the cosmetic design to the most basic functionalities. It's my job to take their "idea" (and I use the word loosely) of what they want and turn it into what they *really* want.

You're concern with the back-end will do no more than filter out the bad programmers from the good programmers. However, there's an easier way to do that: Get a programmer from a programming forum. I don't want to toot my own horn (though I do like doing it :P), but the "bad" programmers are the ones that we can't reach. They are the ones that learn the basics from school and assume that they know what they are doing. We are the ones that take advice from each other, both the seasoned pros and the rising stars. We know of the best ways to get things done because we've seen all of the bad ways, and have come to a consensus on the good ways.
Jan 31 '10 #6
I wouldn't say "true" or "false" it's not black or white, it's pretty opinionated on what's the best approach.

I'm the type of person that likes to be involved in every aspect and knows about every aspect at least the basics. I know there are a good amount of people that just go and say "I want a site", "ok how do you want it?", "it should look nice" <- that's the type of thing I can't identify myself with, and I don't like giving more control to someone than needed, except there's already a trusting foundation build which can be further extended.

My *opinion* is, that in this situation I'd be the person giving direction, and it's my obligation to be detailed and clear in my vision. Of course I'm just a human myself and I don't wake up in the morning and have a clear vision as daylight, that's why I'm doing the research and all the other gaining of knowledge to make the vision as clear as possible.

To put it simple in one sentence, if I'm vague with my instructions, the end-result will be vague. And I'm too much of a critical person to be happy with a result that is not close to my vision.

Thank you for your great tip in the second paragraph. And yes, you're right it will help me to weed out the bad programmers from the good ones, to put it simple it will help me to surround myself with skilled and good people which is a very very valuable and important skill to have, most people fail simply because they surround themselves with the wrong people.
Even though I can imagine that there are dope and skilled programmers out there who don't work in expensive web development teams, (meaning they are affordable), I'm still not quiet sure how I'll be approaching this task, I'm very cautious about this. I've heard from someone who let a programmer program a web application, which the programmer did in a good way, but what he also did was to implement back-doors so he can sneak in and fiddle around with the software.

So, not that I need to find one that is affordable and adequately skilled, he also needs to be trustworthy, which is all in itself a quiet difficult task over the internet. This is also one of the reason why I'm trying to learn as much as I can, so I can detect faulty things quickly. If I'm approaching this blindly with no knowledge and I give all the control to the programmer like you described I'll be much more vulnerable.
Feb 1 '10 #7
1,044 Expert 1GB
Haha, really? That's a new one. As a developer, I'm always given full access to my projects anyway, but that's for making future changes. I've never had enough interest in any one project to want to be able to sneak in, but we're getting off-topic.

Anyway, web development isn't something that is easily learned. It's a combination of practical theory and implementation. Everything can be done in multiple ways, and most implementations require a combination of technologies and methodologies. Learning the basics of these technologies is one thing. Knowing the best practices and efficient methods of implementing them is another. And let's not even get into security issues.

Basically, I just want you to see that you can't just "develop a project" by learning a few programming and database topics. You are getting too specific. You want to be a lot more abstract. There is a place between the vague, "I want it to be nice," and the specific, "I want the database tables to use unsigned integers as IDs." Abstraction on the design level will not only help you see what you want more clearly, but make the programmer's job MUCH more speedy and efficient.

What you should look into is UML and proper documentation such as use cases. Use cases are the best place to start, as they describe the desired functionality of the website and how external sources (i.e. users) communicate with the application. I find them to be most useful piece of documentation I create, next being the DFDs.

And if you're interested in hiring the best PHP programmer on these forums, you're looking at him. ;)
Feb 1 '10 #8
Just to make it clear again, it was never the intention that learning a view "tricks" will "make" me develop the project, getting an *overview* will *prepare* me develop the project, that's a small but crucial difference. All this information will help me *calculate* things better, and that's all I'm doing I'm calculating, I'm weighing out what are the difficult (and the most important!) tasks and how I should prioritize them.

And see this is exactly the reason why I'm doing all these research, I just get into it and while going this route I find out about things I never knew of. UML looks like a pretty helpful thing for me. It will help me get my vision clearer, that's the whole point why I'm doing this, if I wouldn't have started this thread I maybe wouldn't have found out about UML. As I said there's no right or wrong, the BEST approach is: Just doing it.

BTW thanks for getting this thread on-topic again, I was worried this is going to end no-where haha.

Since you addressed it in the last paragraph, I'd like to know about that a bit more. Just for a proper chart system from what I described what do you think from your own experience how many hours it should take approx?

I can PM or email you the *exact* details of the project (chart system), don't really want to put everything out here, I can even show you my first design.

Yesterday I've also purchased a server, I only purchased it because I got the server similar to what I initially wanted for the fraction of the price, so can't really go wrong with that, even if I need later something different it's no problem because I can change and upgrade and all of that, the server provider is pretty flexible.

This will be plenty for the start and just trying to get it run, I didn't even plan to buy a server like this "now", but I couldn't say no to that offer lol.

p.s. I'll PM you my email in case you want to respond that way.
Feb 1 '10 #9
1,044 Expert 1GB
Sorry, but unless I'm being paid, I don't handle thread responses privately. My rates are fair (I still have a semester of college left, after all), but when it comes to general knowledge, I feel that it should be fairly spread. That's the only reason that I joined this forum. I gained "Expert" status within a week and feel that I have helped the PHP community here a lot.

That's not to say that you can't be generic in what you're after. But, like you said, vague questions result in vague answers. But before you dive into UML, I want you to take a step back and look at use cases. Use cases are abstract and precise, and can be understood by anyone on any level of the development process. UML is stepping more into the direction of the programmer, which becomes more clear as you get into DFDs (data flow diagrams) and sequence diagrams.

And if you're interested in the amount of money it'd take to complete this project, I work hourly. So, my productivity improves as the preciseness of the request improves. When I give quotes, the client and I typically start to break it down into portions, similar to use cases. However, use cases are sometimes too "formal" for my average client. I'll inform you of these details in private.
Feb 1 '10 #10
Yes, I took the last paragraph of the other posts as an offer to do the job, that's why I sent you my email and asked the questions how many hours it would take. I didn't send you a PM so you can educate me on this topic, sorry if that wasn't clear enough, I took your statement as an obvious offer.

I'm looking forward to your email, and I will also look into use cases.
Feb 1 '10 #11

Sign in to post your reply or Sign up for a free account.

Similar topics

by: Michael Lvings | last post by:
I'm desperate for an Access database template that will record pop music chart information. I'm new to Access and having trouble working it out. Can anyone suggest a site where I might find a...
by: Zach | last post by:
Hi, I am completely new to VC#.NET graphics code and would like some help to stop me wasting my time up blind alleys. I am looking for a line charting code example. Nothing posh or airy...
by: Sahil Malik [MVP] | last post by:
I am looking for suggestions on a software that can display an Org. Chart in a web based environment. The server runs .NET (2.0), and I have to add that the org chart must work on...
by: Patrick.O.Ige | last post by:
I have a code below and its a PIE & BAR CHART. The values now are all static but I want to be able to pull the values from a database. Can you guys give me some ideas to do this? Thanks ...
by: Just Me | last post by:
If I use the shell32q.NameSpace(k) and the Parent property I can develop, for example, the path to My Music. Actually it ends with Desktop but Desktop can also be traced by using Parent to...
by: Marcel Saucier | last post by:
Hello, I want to use the above characters codes chart but I dont know how to set the typeface (documentation: The characters that appear in Windows above 127 depend on the selected typeface). ...
by: farid25 | last post by:
i want to use data set instead of arrays can any one help thanks --------------------------------- <%@ Import Namespace="System.Drawing" %> <%@ Import Namespace="System.Drawing.Imaging" %>
by: Gilberto Avila | last post by:
I'm currently developing a web application with ASP .NET 1.1. I'm using the bundled Crystal Reports in Visual Studio 2003 to create reports for this application. The system specification requires...
by: c0dergirl | last post by:
This c# program allows you to select multiple items from a listbox. For each selected item, a worksheet is created in the workbook with some information. Right now I create a chart that plots some...
by: JustRun | last post by:
Hi, I'm new to Java "I loved it" and i'm stuck with a Chart Applet i'm trying to give the pie chart its values from my database. Actually the database class works when i tested it in main method...
by: Kemmylinns12 | last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and efficiency. While initially associated with cryptocurrencies...
by: Naresh1 | last post by:
What is WebLogic Admin Training? WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge required to effectively administer and manage Oracle...
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was proposed, which integrated multiple engines and...
by: Matthew3360 | last post by:
Hi, I have been trying to connect to a local host using php curl. But I am finding it hard to do this. I am doing the curl get request from my web server and have made sure to enable curl. I get a...
by: Oralloy | last post by:
Hello Folks, I am trying to hook up a CPU which I designed using SystemC to I/O pins on an FPGA. My problem (spelled failure) is with the synthesis of my design into a bitstream, not the C++...
by: Rahul1995seven | last post by:
Introduction: In the realm of programming languages, Python has emerged as a powerhouse. With its simplicity, versatility, and robustness, Python has gained popularity among beginners and experts...
by: Ricardo de Mila | last post by:
Dear people, good afternoon... I have a form in msAccess with lots of controls and a specific routine must be triggered if the mouse_down event happens in any control. Than I need to discover what...
by: Johno34 | last post by:
I have this click event on my form. It speaks to a Datasheet Subform Private Sub Command260_Click() Dim r As DAO.Recordset Set r = Form_frmABCD.Form.RecordsetClone r.MoveFirst Do If...
by: jack2019x | last post by:
hello, Is there code or static lib for hook swapchain present? I wanna hook dxgi swapchain present for dx11 and dx9.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.