So I have a one off contract opportunity for a business my brother works for that's been floating around for a couple years, worth a decent penny and unseemingly difficult. It's a nine task job but only four of them actually require any developement time the rest are communication between dev and client. We're going to be given a year to complete, give or take a month of testing, communication delays and implementation. Now my programming experience is unfortunately
dated and my web design is just as dated but not as well studied, but at a glance it should be clean cut and smooth. Except no.
So here's my problem, I'll break down the tasks that matter while being brief;
Task 1: Compile 200+ seperate spreadsheets into one main table. Done
Task 2: Create a website that references the newly compiled database for online viewing. Done
Task 3: Create a search that pulls data from the database at the users command, while being flexible and unnecessarily difficult. Started by hamfisting code
Task 4: Add bells and whistles, search queries optioned to call up google maps for visualizing the data and others. Not done
So here's my problem. Task 1 was easily finished with Microsoft Access. Task 2 was proven to be a pain and might be ripped down then started fresh. So before I continue on I'll explain Task 2.
The database as of this moment is sitting as a Microsoft Access Database. The database itself is more a glossary of static data that we want a user to call up on command, not a database that could be easily adjusted by the user just one maintained on an administer level. It's job isn't to adjust data on the fly that most books I've read like to assume, it's just a reference guide really. So I read online that SQL Databases are usually better suited for web based design, and I started to research SQL. I purchased a SQL book that was actually leading me to build a SQL server not just a database, as I've said the data is already compiled, just looking to drop it in so to speak, the server handling is someone else's job. So for now we've run with a MS DB that shaped up decently by using MS Visual Web Developer, although you can't sort the table at all which sucks. So done, although probably not a good foundation.
Task 2 as of right now we have a simple page that queries the two columns that matter the most using drop down boxes which is all the search is really going to need based on the data we're querying. But the way the tutorials I've found that has given me any success uses the GUI's tools more than instructs me to adjust the code or give me any syntax what so ever, and that being the biggest problem.
We've gone through 3 different books for setting up our plan of attack and at least 3 different web design compilers, yet we can't manage to break the fold. The books we've found have been out of date showing code that doesn't work anymore, or using tools inside the compiler that have been omitted in the lastest build. I first tried MS SQL Server but like I said it had me building a server, not what we need. My only success has been with MS Visual Web Developer but doesn't allow me to build a site on the fly to compare with my colleagues and it seems not really powerful enough, so we might look at MS Web Expression but we don't have the job yet so, coming up with $300 capital for a program we might not want or need isn't appealing. Recently we tried the new Dreamweaver and once we found that we had to build our own HTTP local server and use specific call protocol to create a database web page, we decided to explore other options.
Now maybe one of those compilers is the way to go, the problem is I don't know if or which will work. The documentation and books for web design are a joke. The authors either don't go into syntax or they take a lot of assumpation on what you know. Nevermind that the few I've read have editoral errors in the code. But most damning of all, they all skim the surface of web site database design, only having you attach the main table to the site and telling you to swim.
Since we don't have the job yet should we abandon ship? Problem being we have been paid by a higher up for starting capital that we need to pay back. Are we too far gone from new coding that this is merely over our heads? I wouldn't like to think so. Is the major issue we're buying books from Barnes and Noble and not buying college textbooks? We've considered that. Or are we screwing up what we want by looking for books with Database Web Design, not maybe just web design, or just look up Visual Basic / Visual C books? Another thought we had.
So I don't know, every approach, every avenue I've taken seems to make this harder than it really needs to be or so it seems. Just looking for a good book (hopefully something that doesn't have for Dummies or Step by Step in it, those are a disgrace to the pages they are wasted on) and compiler I should stick with. I didn't like MySQL because it felt
loose and unstructured. Can't use MS Visual Studios because it's a PoS and deletes my templates everytime I open the damn thing.
TL;DR: A group of guys and I can't build a database website, we suck. Various things we have tried didn't work. Commercial book stores carry crap in paperback that takes liberties in what you know and don't dive into the code. The database is only there to reference data not build and compile on the fly as most of those books would have you create. The best way I can describe what we're building is a greatly stripped down search engine like
www.wowhead.com. We're just building the site not doing any of the admin work or assessment of the servers it will be put on.
If any of you super web coding savvy gentle sirs or ladies have any advice or a general direction I should look at, I'd greatly appreciate it.
Thanks.
Posts
Then you just add the pretty stuff afterwords (HTML, CSS, google stuff). There are plenty of tutorials and the MSDN help docs are very thorough.
This of course assumes you'll be running the website on a Windows web server.
SC2 NA: exoplasm.519 | PA SC2 Mumble Server | My Website | My Stream
I second the recommendation to use VS Express. Visual Studio is pretty easy to learn and makes simple data access and such very easy.
So far playing with Visual Web Developer it feels like Studios and I'm sure it runs relatively in the same scope. I'll try studios again and go through MSDN some more, however most of the tutorials I've found are using the 2005 compiler builds and apparently a lot of stuff didn't return to 2008, the table adapter being one of them.
At least you have reaffirmed me that this shouldn't be that hard. That in itself is a great deal of help.
You can pretty quickly setup a very fast interface for "managing" a database. If you guys know SQL at least you can build up your queries for getting certain data out of the database, once you have the set of results, it is just a matter of displaying them on the web page.
To start with this could look like shit. Honestly at that point it doesn't matter - if you can get the foundations working properly then hey, give it a face lift later.
It does really tie back into what you currently know though.
but yes, with sql server you are building a server because you need a server. a database is not like a picture or file that you just link to. you need to send POST and GET operations via http from the browser to the database, parse the output, and write it back to the browser.
for example, you would have a form on a webpage. user inputs data, either by text feilds or drop downs. when they hit submit, the form POSTs to the webserver. the server creates a connection to the database. the database software,SQL Server, uses the sent data to run queries against the database. when the server gets its answer from the database, it sends the data back to the browser, usually with some html or other mark up. you cannot POST or GET directly to the database. you need a program in between.
I would try just getting a single table up there with one entry, and see if you can connect, run a query, and spit out the result, before jumping in an running multiple selects and sorts on a 200+ sheet database. once you get the first connection, everything else is just details. and even if the data is relatively static, and you are only GETing data, and not POSTing, you still need to connect to the database and run queries. the page that receives the data builds the html and displays in the browser.
so,
page1 (contains all the form elements) -> POSTs data to a handler page -> handler page connects to database -> database runs query, returns results to handler page -> handler page creates html to display returned data.
here is an asp article:
http://www.devarticles.com/c/a/ASP/Two-Ways-To-Connect-To-SQL-Server-2000-Via-ASP/
asp seems to be a bit more complicated than php/mysql. or it may be that because it is a closed system, there aren't as many resources (hacks) or publicly available libraries out there. you might want to look at this anyway:
http://www.w3schools.com/PHP/php_mysql_intro.asp
hope this helps (and that i didn;t misunderstand your question/problem)
It depends on what your experience is, you complained about books not getting into code so if you do have an idea of what you're doing code-wise I would suggest PHP and SQL, possibly using a CodeIgniter framework to neatly compartmentalize things because they're open source and have some really nice documentation online.
In terms of other resources if you go with the above, http://php.net is a good reference, and some others are: O'Reilly's MySQL Cookbook which is great for stealing bits of code out of and modifying them for your use, or for just getting ideas, and his PHP Cookbook for the same thing.
One of the nice things if you're rusty is that you can reference any of the syntax you aren't understanding in the book to php.net (For example: http://php.net/while)
Also, if you're just trying to manipulate your SQL DB you can use something like SQLyog, which has a free version and gives you a bit more of a spreadsheet interface. I'm not sure of what your data looks like, but it might not be the most efficient thing ever to just shove all of it into one big table.
The above advice though is made on the assumption that you'll be able to dive into the code. If you're looking for some kind of nice GUI/WYSIWYG editor it's less applicable.
On a sidenote, if you're going to be setting up the web server stuff yourself I highly recommend Apache instead of IIS.
That said you're pretty clearly in over your head. IMO if you can you should return the money and tell them for whatever reason you won't be able to carry out the project, but if someone is dumb enough to hand out money with no check for qualification that's their problem if they get something super amateur in return. So here's the help/advice part.
Step #1: http://www.apachefriends.org - Download XAMPP (for whatever OS you use). It's a simple, self-contained suite of applications to run your own little web & db development platform. Apache, MySQL, and PHP are all powerful, fairly simple, and more than enough for what your application would need. Plus they're free.
Step #2: http://www.amazon.com/PHP-MySQL-Dynamic-Web-Sites/dp/0321336577/ - Get this book. It is by far the best beginner's guide to learning PHP & MySQL. It's simple to follow, has plenty of examples to do along with it, and will give you the fundamentals you need including database design and security.
Step #3: Hopefully be capable of creating the app and getting project specs before accepting them in the future.
edit; TECH FORUM FORGOT IT EXISTED.
Like I said right now we don't have the contract anyways so this is just testing the waters. Now that FightTest and Hypatia mention the DB server issue, that's a clear indication that either we (as the whole group) or our "manager" haven't been given the whole scope of what we need to do.
Now that said, as far I as can tell all we have to do is build a web page of querying, the server of the DB and everything else was their IT guys job. Prehaps Visual Studios and ASP.NET has spoiled me with the small dose of success I've had with it, integrating the table to the page and being able to search/query it there, has turned me away from actively looking at MySQL and what not. However if even in doing that requires us to build the server etc, then I absolutely wouldn't have even had a remote interest in taking it because that is way out of my league, maybe the 3 other guys have a better grasp of it but they really aren't showing me that, regardless I'd bow out before names were signed on paper.
This isn't a jesus that's a lot of money project, it was more of a, hey let's make some spending cash. So it's been an assumption of just how much work we had to do. I haven't seen the contract yet only seen our Proposal and it isn't in front of me atm, but I'm pretty sure nothing is mentioned about server design. That might be why we don't have the contract and may also show that the manager didn't read the contract thoroughly enough.
Either way I'm setting this on the back burner of my mind until some questions are answered. But the info you all shared definitely reminded me that I'm way out of the web developement loop and will probably stay there.