Enterprise Application Project Report

Hibernate is a framework to map object-oriented model into a relational database. In this project, we must state the hibernate version in the pom.xml file and let the maven download the repository. The hibernate then will be combined with the Spring framework in order to acess the database and use the database object to create the database operation of create, read, update, and delete (CRUD).

Then, we need to create the hibernate configuration file in the config folder. In the configuration file, we  imported the org.hibernate.SessionFactory, org.springframework.orm.hibernate4.HibernateTransactionManager, and org.springframework.orm.hibernate4.LocalSessionFactoryBean. All of these packages will be used for defining hibernate configuration. There are four functions for defining the configuration.

sessionFactory() function is the usual way to set up a shared Hibernate SessionFactory in a Spring application context; the SessionFactory can then be passed to Hibernate-based data access objects via dependency injection. dataSource() is used to definie the acess to the MySQL database.  hibernateProperties() is used to define the hibernate properties including dialect, show_sql, and format_sql. And the last one, transactionManager(SessionFactory s), Binds a Hibernate Session from the specified factory to the thread, potentially allowing for one thread-bound Session per factory.

For the database part, we used MySQL database. The database definition is available in the application.properties file. In this file we define the database URL, username, password, and also the hibernate dialect. The database table is define in the model part. In the model file, we define the object with the same properties in the database table field.

For defining the database operation, we define it in the DAO files of each model. This DAO implementation will be acessed by each model services. Later on, the services implementations will also be used when we create the controller to run the operation on each models.

For the edit pages, we pulled the data to the front-end with Angular, using ng-model, ng-checked, etc. This will show the value of the variable in the angular that was pulled from the database.

Scripting Language Project Report

For Scripting Language Final Project, it has been decided by sir Raymond Bahana that we should create an e-commerce website that sells Batik from Pusaka Beruang.

Features

  • Navigation bar on both the website and admin panel.

Website

Admin Panel

  • Login page & Help page.

Login Page

Help Page

  • Use appropriate href and/or alt (if image) tags for each menu item

hrefalt

Href & Alt tags

  • Use the title tag to create an appropriate title in every page.

title

Title tag

  • User registration form with validation.

Registration Page

  • Login/user authorization table in a database.

user

User Database

  • Create administrator page(s).

Admin Panel

  • Use shopping cart.

Shopping Cart

  • Define styles using CSS and use them to give attributes to some html elements.

css

CSS

  • Utilize the image object and the onMouseOver event or other event to dynamically change images.

onMouseOver Event

For Images we decided to use slider instead

  • Use a JavaScript function (at least 2 scripts).

js

Javascript

  • Use form elements such as text and selection boxes to gather user input/preferences.

form

Form elements

  • Use the date object to write the date from the server (for Date of Purchase)

dop

Date Object

  • The form contains space for name, address, phone, email.

We separate the forms into user registration form and order form

User Registration

order

Order Form

  •  Create an inventory table in a database.

inven

Inventory Table

Task Division

In this project, my task was to create the website’s interaction between the user and the database. While Janis took care of the admin panel and Chelsy creates the front-end (HTML, CSS, JS).

Technical

Tools Used:

  • PHP (Codeigniter)
  • XAMPP (Apache & MySQL)
  • HTML, CSS (Bootstrap), JS (JQuery)
  • Text Editor: Atom

Team

  • Chelsy – 1701319994
  • Edward Emmanuel Leonardi – 1701319735
  • Janis – 1701320560
  • Deadra Ivanka Qintara (Design Student)

Scripting Language Project Proposal

Project Brief

In this project, we will create an e-commerce website for Pusaka Beruang as an Online Store to sell Batik Lasem.

Project Scope

As the images and data have been provided, we decided to focus on choosing a front end template (as well as editing it to our needs), migrating it to Codeigniter, creating the database as an inventory, user data, etc. and coding the back end using PHP (Codeigniter as its framework).

Goals and Objectives

  1. To provide assistance to Pusaka Beruang in creating an online shop in order to sell their goods online.
  2. To understand the syntax of PHP.
  3. To learn the MVC architecture of Codeigniter.
  4. To comprehend the real implementation of Scripting Language.
  5. As a realization of the importance of Scripting Language in our current society.

Features

  • The website will have a user login system to ease users in buying products in the next visit, without needing to re-input their personal information.
  • The website will have an admin panel that can see user’s order and confirms payment.
  • The website will have a shopping cart that can store multiple order before a purchase is made.
  • The user will be able to see an invoice (either sent by the admin to their email, after reviewing the order made, or shown directly after an order is made).
  • The website is directly connected to the inventory system that can check and show the stock of a product.
  • The website will have a payment confirmation form.
  • The admin panel will be able to add, edit, and delete items from the inventory (tentative).
  • The website will automatically send an invoice to the user for every order made (tentative, needs mail server).

Task Allotment

I will be personally handling the login system and order. While on the other hand, Chelsy will be dealing with the admin panel and database design, and lastly Janis will be assigned with the inventory system and purchasing.

Purchasing Procedure

  1. User logs in to website, or register if needed (where the users will need to fill a form including their shipping address, etc.)
  2. User browses to the items.
  3. User selects and add the items into cart.
  4. User confirms order.
  5. Admin reviews the order made by the user, and sends an invoice manually to the user’s email (since the mail server is not provided)*.
  6. User transfers to the bank, given the instruction through the email.
  7. User confirms the payment through the form provided in the website.
  8. Admin confirms the payment made.
  9. Item is shipped.

Group Members

  • Chelsy -1701319994
  • Edward Emmanuel Leonardi (Me) – 1701319735
  • Janis Giovani Tan – 1701320560
  • Deadra Ivanka Qintara (Design Student)