A project consisting of several microservices built using Java Servlet programming, Rest APIs and Google cloud platform. Part of the course EECS4413: Building E-Commerce Systems by Prof Hamzeh Roumani at York University
- Projects/Assignments completed for this course.
- Used the following within the projects. Java, Eclipse with Tomcat, HTML, CSS, JavaScript, XML, JSON, SPA, JSP, Google Map APIs, TCP, HTTP, MVC, Multithreading, Authentication
- A study of the technical infrastructure that underlies Electronic Commerce on the Internet.
- The foundational concepts are presented through a series of projects that use an industrial-strength framework on the server side,
- standard-compliant technologies on the client side, and a variety of messaging protocols on the network side.
- Best practices, security concerns, and performance issues are emphasized throughout. Two lecture hours per week.
Topics covered include the following (with examples of technologies in parenthesis):
- E-Commerce Concepts, Examples, Architectures, Patterns
- Client Design and Client Technologies (HTML, CSS, JavaScript, Ajax)
- Design Patterns and Application Layer (Servlets, JSP, Filters and Listeners, ESTL)
- Data Layer Design and Technologies (JDBC, Reverse Index and Search)
- Software as a Service and Web Services (XML, SOAP, REST, XLST, JAXB )
- Deployment Architectures and Testing
- Design for Performance and Scalability
- Security (Authentication, access control, encryption, common threats)
- Advanced Concepts (cloud, big data, recommenders)
After successful completion of the course, students are expected to be able to:
- Develop an appreciation of the components that make up the web landscape and how these components interact with each other.
- Acquire the skills needed to build a complete web application that incorporates session management, database access, and analytics on the server side, and page formatting and interactivity on the client side.
- Build restful web services that interact with Ajax-powered client apps using a variety of transport protocols for data transfer.
- Become familiar with, and adhere to, best practices and design patterns to ensure code maintainability, interoperability, and scalability, and to minimize exploitable vulnerabilities.
- Learn how to build complex applications collaboratively through building abstractions and APIs, naming conventions, documentation, and organizing.
- Compare and contrast existing frameworks and approaches and develop an insight into the forces that are driving the current web trends.
- J2EE
- Servlets
- JSP
- Apache TomCat
- Google Cloud Platform
- Maven
- SQl
- Bootstrap 4
- CSS
- HTML
- Download the the project directory from github using github clone
- To open this webapp, use Eclipse IDE for Java EE Developers and import the directory
- Right-click on the project and select "Run As / Run on Server" in the shortcut menu.
- Alternatively export a
.war
-file and deploy it to your tomcat server.