TravelStar Web Application


This project is for the course Survey of Software Engineering, for which I could probably say that I put more efforts than any other projects I’ve done in school. The course is about the phases and methodology used in software engineering, i.e. requirement, design, implement, testing and maintenance. The propose of the project is to apply the methodology in a team environment.

Requirement

The project is supposed to be web application and the following is brought by the Professor as initial requirements.

  1. Book a flight
  2. Book a hotel
  3. Book flight+hotel
  4. Create an account
  5. Login
  6. Check flight status
  7. Accumulate mileage
  8. Redeem mileage
  9. Finding deals
  10. Feedback

Based on the initial requirement, we make our final Software Requirement Specification(SRS) document.

Architecture and Design

We named our project TravelStar, which is supposed to be local travel company based in Austin. I’ve finished the tech selection and overall design, which is Java/Spring Boot based Web Application. This decision is based on the Safe and Sound logic because Java is in my realm while Spring Boot is relatively new to me.

Front End

Bootstrap/Javascript/CSS/HTML

Back End

Spring Boot(Thymeleaf) Spring Boot(JPA) Spring Boot(Web)

Database

Mysql

Implementation

The implementation was done on Windows platform, including JDK 1.8, IDEA, Maven, Mysql. I finished the following,

  • setup all the infrastructure and create the Spring Boot project,
  • setup a Subversion server in my virtual machine in AWS for code sharing,
  • document every step in a Google doc so that my teammates can follow,
  • code and complete 5 requirements, including Register, Login, Book flight, Accumulate milage, Redeem milage,
  • create flight data for testing,

Deployment / Test

  • deploy the project into my VM(Linux)in AWS.
  • test the project mainly using Firefox and Chrome.

Summary

Our project covered the basic functionalities required for an ecommerce web application and our project was the only one among 8 groups that deployed and accessible online. I spent overall 200+ hours on this project, including coding, testing, deploying, documentation, discussion and presentation, and finished 2000+ line of java files, 1300+ lines of HTML files and several documentmation on Google Doc.

From the process point of view, I have completed the following:

  • discuss and clarify the requirement with Customer/Professor,
  • work at architect level and select the tech stack,
  • build project from the ground,
  • document the detailed steps to be followed by teammates,
  • help teammates when they have difficulties.

From the technical point of view, the following are new to me.

  • use Spring Boot/Spring Data/Thymeleaf,
  • use BootStrap library to build responsive pages,
  • use Javascript library to build Auto complete input fields and Date picker,
  • design the layout of web pages including the logo and background image,
frontend
backend