Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

PinkyMacGodess

Suspended
Original poster
Mar 7, 2007
10,271
6,228
Midwest America.
I need come up with a web based database (probably MySQL) for a club I'm a member of. I'm pretty good with programming websites, but have never done a web accessible database before.

I have an AWS account, free version. Are there any good tutorials, or examples to use to cook this thing?

The idea is that a certain person would be able to login and add data to the database. It's for member mileage...

Thanks...
 
I need come up with a web based database (probably MySQL) for a club I'm a member of. I'm pretty good with programming websites, but have never done a web accessible database before.
Not sure what you are asking. Local access should be the same as remote. Use JSON and build a RESTFUL API and it works every which way and some that haven't been invented yet.

Here is a very simple tutorial, googled with keywords: MySQL PHP login tutorial ( this one does not use an api or 'standards' we use today, but it will give you the first step in that direction ):
https://www.tutorialspoint.com/php/php_mysql_login.htm

The idea is that a certain person would be able to login and add data to the database. It's for member mileage...
Here is a tutorial to use a facebook login so users do not have to create a new account and remember another password:
https://developers.facebook.com/docs/facebook-login
 
MySQL is not a "web accessible database". It's database software that runs on web servers, desktops, etc.

You can make calls to MySQL from your favorite programming language or backend web framework.
 
I need come up with a web based database (probably MySQL) for a club I'm a member of. I'm pretty good with programming websites, but have never done a web accessible database before.

I have an AWS account, free version. Are there any good tutorials, or examples to use to cook this thing?

The idea is that a certain person would be able to login and add data to the database. It's for member mileage...

Thanks...

It is easy because, MySQ does not "know" nor need to know that it is connected to the web. Your server app make a conniption to MySQL and then MySQL just sees a normal process thatconnets using MySQL's native protocol.
 
I need come up with a web based database (probably MySQL) for a club I'm a member of. I'm pretty good with programming websites, but have never done a web accessible database before.

As others have said, MySQL is just a database. You could, in theory, allow direct SQL access over the internet to your instance on AWS, but this is not really recommended. Further, you haven't reallly said what your programming skills are, so it's hard to make definitive recommendations. The obvious approach would be for you to build a simple database-backed website with something like Ruby on Rails (http://rubyonrails.org/), as this is probably closest to your current experience. There's still some work involved in building and maintaining this, though.

Have you thought about using one of the standard web tools like Google Apps, and just putting your data in a shared Google Sheet? Easily shared and no real costs involved.
 
As others have said, MySQL is just a database. You could, in theory, allow direct SQL access over the internet to your instance on AWS, but this is not really recommended. Further, you haven't reallly said what your programming skills are, so it's hard to make definitive recommendations. The obvious approach would be for you to build a simple database-backed website with something like Ruby on Rails (http://rubyonrails.org/), as this is probably closest to your current experience. There's still some work involved in building and maintaining this, though.

Have you thought about using one of the standard web tools like Google Apps, and just putting your data in a shared Google Sheet? Easily shared and no real costs involved.

I was vague. I'm not the best web programmer, but I get things done.

The data is being done, currently, with spreadsheets and then traded around for ad hoc reporting, and the size of the data and type of data is getting overwhelming: There is currently a lot of data missing, and errors. We use an 'all-in-one' system for the club, but their 'solution' for this issue is a joke. Using 'google sheets' would just substitute a local spreadsheet for a web based one, right? Not a 'good solution', in my mind. There is no 'perfect' solution. I'm just trying to figure out a way to make it better, easier, more accurate.
 
Have you thought about using one of the standard web tools like Google Apps, and just putting your data in a shared Google Sheet? Easily shared and no real costs involved.

Good call, that's exactly what I'd recommend, and if you wanted a little more polish, you could use Google Forms to easily build a nice UI, and provide basic validation for data entry. Then have that data dumped into a Google sheet that you could distribute, do some analytics, etc.

I say this as someone with years of software development experience.

On the other hand, if you want to explore the other option, you know for fun, then there are plenty of service options under S3 that will give you the tools you need.
[doublepost=1491307738][/doublepost]In the simplest model you'll need a service for the app, and a service for the DB, these can be on the same server, you can just spin up a small EC2 instance on S3, then start adding packages to support your design target. Probably some combination of opensource tools on a Linux instance, the Amazon AMI is nice, easy starting point. Then decide on a web framework, Rails, Nodejs + Express, Python + whatever, even (ugh ...) PHP. That will give you the server side processing and database access core, then add a DB instance (personally I'd use Postgress but from your perspective vs. mySQL, either is more than fine).

When you say this:

I'm pretty good with programming websites

I'm assuming you mean the browser side, i.e., markup, CSS, maybe Javascript (vs. any server side experience)
 
I'm just trying to figure out a way to make it better, easier, more accurate.
We will get you up and running. You need two things:
  1. Database
  2. Server Side Language
1 = MySQL or one of dozens of other storage solutions. This is the 'art' side of coding. Creating a database is easy, creating a usable / expandable database structure require tons of experience. But for the project you have described, you probably just need a user table and a table to store the mileage information.
2 = This part is the glue that ties the client to the server. It seems like you understand how to build client side ( aka static ) web sites. That's a good start. All that is left is connecting the local client to the remote server to create dynamic pages.

It seems you have favored MySQL so stick with that one for your first project. There are many popular server side languages: Python, Ruby on Rails, PHP and many more. For your first project, I would recommend either Ruby on Rails or PHP as there are many online tutorials to get you started.

After you have your site up, I would recommend rewriting the server side language using one of the languages you did not choose. That way you can compare and contrast them. This also helps you to write better client side code. Switching out server side languages should have minimal effect on client side code. If you have to change tons of things on the client side to switch between backend technologies your client side code needs work.

Good luck and let us know if you get stuck.
 
The advantage of using a Google Sheet is that there is much that you can then do with the data without writing any code. You can choose to share the sheet with users or not. Google has an API for working with Google Sheets, and so you can make a site with forms and some Javascript code for adding data to the sheet.

It's really impossible to give concrete advice without knowing what backend languages/frameworks you are familiar with. If "none", I might suggest node.js/express, because you can leverage a language (Javascript) that you probably already know.

If you want to create a "web service", there are more lightweight Ruby alternatives than Ruby on Rails. For example, Sinatra. (You will find it very similar to node.js/express).

I don't encourage more people to learn PHP. Please don't inflict more of that on the Interwebs... ;)
 
Seems like an easy task to do. Have a basic web site that can read/update the data.

1. Have website talk to a web service preferably a RESTful service

2. The service will talk to a platform agnostic data access layer

3. Data access layer talks to the MySQL database
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.