Prepares students for large-scale software development using software engineering principles and techniques. Coverage includes software process, requirements analysis and specification, software design, implementation, testing, and project management. Students are expected to work in teams to carry out a realistic software project.
Final Project: Food Flight
Food Flight is a GrubHub-like food ordering and delivery web application developed using microservices architecture with Java, Spring Boot, RabbitMQ, and MySQL Workbench. We also practice Agile methodologies and organized all user stories and task on Pivotal Tracker. Code review was performed weekly via GitHub pull requests.
I was mainly responsible for building designing our database as well as the backend CRUD services for order storage and retrieval. I also assisted with the messaging services using RabbitMQ, which illustrated how services could receive messages with pertinent information for restaurants and for delivery personnel.