The entire project is as follows.
I have posted files and sample code along with the project to make it easier
The maximum budget is €40 - if this is not achievable but you want to complete a smaller piece of the project for €40,
this will be ok but please send on details of what you will provide for that amount.
Other things to be aware of - this is a school project so it does not need to be of industry standard.
JAVA Code Documentation will be required (can be documented in the code)
The project is required to be designed using JBOSS, Enterprise Beans, Servlets and JSPs
REQUIRE a SERVLET to connect to a enterprise JBOSS bean the bean should contain classes to connect to a Hibernate DB - sample JAVA files attached with DB info. JPA can be used in EJB code in the same way as JPA is used in a servlet or any other enterprise module. All the JPA stuff in the servlet class (e.g., @PersistenceUnit ... @Resource ..., and of course the entity manager commands) can simply be moved into the EJB class.
There is just one difference: when you use JPA in a public EJB method, you can remove the "[url removed, login to view]()" and "[url removed, login to view]()" around the entity manager commands, because for each public EJB method, a transaction is already automatically created for you by the server. In fact, if you don't remove begin() and commit(), a.f.a.i.k. an exception is thrown (something like "Nested transactions not allowed").
You also need to make sure that the project which contains your EJB(s) is "JPA enabled", but again, this is ensured in the same way as JPA-support would be added to a Dynamic Web Project using the "Project Facets" tab in the project generation wizard
SERVLET or JSP should be able to interact with the BEAN when it both deployed on the JBOSS server
DB files are attaced and [url removed, login to view] shows how to connect to the DB using the [url removed, login to view]() etc.
Full project spec
In each session with your system, a customer can either
a) request the current list of all hotel rooms, or
b) request the list of all his/her own bookings in the past,
or c) book a room.
a) and c) could be combined (i.e., a) just as a step before c)).
In case of b) and c), the customer must enter his/her username and a password (or choose a username and password if (s)he is a new customer making
his/her first booking).
There are two groups of users: customers and managers. Both types of users interact with the software using a web browser.
Managers can add and remove hotel rooms to/from the system’s database. Each hotel room should have appropriate attributes
(minimally: hotel name, room type (single or double), price per night).
Each manager can also request the list of all hotel rooms currently in the system, and a list of all bookings
made by customers. Managers are required to identify themselves using a user name and a matching
E.g., the list of all rooms currently in the system could look like this:
Hotel name Room Type Price per night
Plaza Hotel Double Room 100 pounds
Grand Hotel Single Room 50 pounds
A booking consists of the following steps:
1) Choosing a room and entering the desired period of time (arrival day, number of nights),
2) checking room availability, and if the room is available:
3) showing the customer the price and
4) letting the customer enter and submit (pseudo) credit card information.
At any time before completing the last step, the customer can cancel the booking process. When a booking is complete, the software stores the booking information (i.e., customer’s user name, booked hotel room, booking period, credit card number) in a database.