Good Day.

I need your help or advise, I'm amidst the Planning and Requirement Analysis of my thesis in Software Engineering. I was so confused on what particular programming language should I study and used in my system. The system is an online website that consist of database for their online reservation of baptismal, mass offering etc. By the way the system that i was developing is for the community church namely "Sta. Clara De Montefalco" located at Pasay, Phillipines. Will you please suggest programming languages that will be adequate to my system.Thank You.

Dani AI

Generated

Several replies offer useful stack options, but the thread misses the parts that make a reservation system robust: the data model, scheduling rules, concurrency control, confirmations, admin workflows and backups. For these should be nailed down before choosing languages or hosting. and rightly point to practical constraints (hosting, skillset); 's security warning is also important — security and integrity are the hard parts here, not the UI.

A minimal domain model to start with (one row per bookable slot plus reservations) keeps logic simple and makes concurrency easy to handle:

CREATE TABLE service (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(80) NOT NULL
);

CREATE TABLE slot (
  id INT AUTO_INCREMENT PRIMARY KEY,
  service_id INT NOT NULL,
  start_utc DATETIME NOT NULL,
  capacity INT NOT NULL DEFAULT 1,
  reserved INT NOT NULL DEFAULT 0,
  FOREIGN KEY (service_id) REFERENCES service(id)
);

CREATE TABLE reservation (
  id INT AUTO_INCREMENT PRIMARY KEY,
  slot_id INT NOT NULL,
  parishioner_name VARCHAR(150),
  status ENUM('pending','confirmed','cancelled') NOT NULL DEFAULT 'pending',
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (slot_id) REFERENCES slot(id)
);

Reserve with a database transaction to avoid races (InnoDB or equivalent):

START TRANSACTION;
SELECT capacity, reserved FROM slot WHERE id = ? FOR UPDATE;
IF reserved < capacity THEN
  INSERT INTO reservation (...) VALUES (...);
  UPDATE slot SET reserved = reserved + 1 WHERE id = ?;
  COMMIT;
ELSE
  ROLLBACK;
END IF;

Practical checklist and tips: store datetimes in UTC and convert for display; require TLS and parameterized queries; keep an audit table for changes; send confirmation emails and allow admin overrides; schedule daily backups and test restores; write a simple concurrent test (many parallel HTTP requests) to confirm no overbooking. Break the thesis into clear milestones: requirements/use-cases, schema/API, UI wireframes, tests, deploy. This keeps the project focused and demonstrable for assessment.

Recommended Answers

All 6 Replies

Member Avatar for Member #120589

php for back end
mysql DB
possibly javascript if you need some whizzbangs

Alternatively, you could use asp.net langauges with SQL Server DB, or Java with MySQL or other DBs.

php is free, MySQL is free to use. I'd say php is probably easier as you can learn the procedural code quickly.

It's impossible to say what you "should" use.
It all depends on the available knowledge, means (financial and otherwise), and exact requirements of the customer (and the development team being created).

I've created and maintained real reservation (and other online ordering) systems that were big enough to require the use of massive Oracle databases, distributed Java application servers, multiple redundant data centers to host it all.
But I seriously doubt something for a local church would have to be that big :)

php or Ruby on Rails would probably be quite sufficient, though given the no doubt inferior technical expertise of the customer's IT department to that of a major international company's you're going to have to do a lot more to provide in-application security than I did, and php and Ruby on Rails are known for their miriad security holes (Java is out of the box much more secure).

For a database, mySQL or PostgrSQL should suffice for the same reasons.

Best to do is determine what environments are supported by your chosen hosting provider and do a thorough study into the merits (cost, capabilities, security, etc.) of all of the possible combinations before deciding what to use.

If you are at the stage of planning your thesis, haven't you already done some sort of web-based development? How can you get through a Software Engineering course without having done this? I say this because your first choice for developing a web-based solution should be whatever web development language you already know. If you really haven't done this before, then PHP with a MySQL database is a good choice because it's free, not too difficult to learn, there are lots of examples available and lots of help forums if you run into questions or problems.

combine html, javascript and jsp & myQl db

simple, three tier, from the theories that I have learned from sem 2 in my BIT ,

1. Presentation layer - XHTML/CSS/JavaScript/Ajax/XML/XSLT/FLASH.. etc
2. Application layer - PHP/Java(Jboss or tomcat)/or any other application server.
3. Database layer - SQL (concrete: MySQL is easy to use with PHP).


Just do a little research about 3 tire architecture in google and start
breaking your project into the layers. And design them and start coding.

Apache Server + PHP + MySQL database. Perfect combination!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.