COMP07172 2018 Open Stack Development
In this module, students will be required to develop full-stack web applications using open source technologies. Students will make use of containers and a cloud services in developing and deploying their applications.
Learning Outcomes
On completion of this module the learner will/should be able to;
Design and create complex web applications using modern JavaScript frameworks and open source technologies
Create a NoSQL database and implement operations to perform insert, delete and updates on the data.
Describe Container concepts and integrate them into the development and deployment process.
Evaluate and use cloud services such as Analytics to enhance an application
Teaching and Learning Strategies
A practical approach to teaching and learning will be used. Problem-based learning will be used where possible. The one hour lecture will be used to introduce core concepts. The lab practicals will be used to learn key concepts by developing web applications. Flipped learning will be employed as required. Screencasting by students of project work will be used to develop presentation skills.
Virtual Machines will be used to allow flexibility and enhance learning.
Module Assessment Strategies
100% continuous assessment. Assessment for and of learning will be carried out. Students participate in a project (70%) and have to complete lab work and a number of formative and in-class summative quizzes (30%) in weeks 3 and 5. Students will be required to peer review and provide feedback to each other on their project work.
Repeat Assessments
Repeat Project covering all learning outcomes.
Indicative Syllabus
Design and create complex web applications using modern JavaScript frameworks and open source technologies
- Create complex responsive web front ends using a JavaScript framework
- Examine the advanced language features
- Examine how state is implemented using libraries such as Redux
- Examine the MEAN stack, its components and how they integrate
Create a NoSQL database and implement operations to perform insert, delete and updates on the data.
- Examine what NoSQL is and the need for it, look at the CAP theorem
- Describe the different types of NoSQL databases such as Key-Value, Document, Column-Family, and Graph
- Examine how to connect to an application to a NoSQL database and read/write/delete
Describe Container concepts and integrate them into the development and deployment process.
- Examine the different containers such as Docker, why they are used and what problems they solve
- Examine container repositories, how to build images and push to repositories
- Investigate deployment operations such as AWS ECS
- Use the role containers as part of the development and deployment process of an application
- Test the application running in a container
Evaluate and use cloud services such as Analytics to enhance an application
- Examine the different cloud hosting services such as AWS, Azure, GCP
- Examine cloud storage options such as Firebase and AWS
- Determine how Google Analytics integrates into Single Page Applications
Coursework & Assessment Breakdown
Coursework Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Quizzes and Lab Work | Coursework Assessment | Multiple Choice/Short Answer Test | 30 % | OnGoing | 1,2,3,4 |
2 | Develop a full stack web application | Coursework Assessment | Project | 70 % | End of Term | 1,2,3,4 |
Full Time Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Lecture | Computer Laboratory | Lecture | 1 | Weekly | 1.00 |
Practical / Laboratory | Computer Laboratory | Lab Programming | 4 | Weekly | 4.00 |
Independent Learning | Computer Laboratory | Self-Directed Learning | 3 | Weekly | 3.00 |
Required & Recommended Book List

2015-06-25 Mastering AWS Development Packt Publishing - ebooks Account
ISBN 1782173633 ISBN-13 9781782173632
Develop and migrate your enterprise application to the Amazon Web Services platform
About This Book
- Identify and recognize cloud architecture features to design highly available, cost efficient, fault tolerant, and scalable distributed systems
- Code and implement a cloud solution with the help of appropriate techniques and methods such as Amazon EC2, Amazon S3, Elastic Beanstalk, and so on
- A hands-on, example-driven guide that helps you leverage the vast powers of the AWS infrastructure
Who This Book Is For
This book is for web and Cloud computing developers with knowledge of databases, basic virtualization, and Cloud computing. Having prior understanding of architecting on AWS is recommended.
What You Will Learn
- Get to grips with the AWS development platform to access, authenticate, and manage the identity of various applications
- Create a scalable infrastructure using EC2, EBS, the Elastic load balancer, and auto scaling efficiently as per your web traffic requirements
- Manage the whole storage life cycle of AWS using different services such as RDS, S3, and RedShift programmatically
- Design and develop a web application, a batch processing system, and their required infrastructures
- Understand the importance of APIs at the development phase with AWS and leverage the benefits of REST-based APIs call over AWS services
- Explore troubleshooting best practices, security on AWS and disaster recovery plans
- Bootstrap AWS EC2 instances with preconfiguration commands to set up the environment and use Chef for automation and deployment
In Detail
This book is a practical guide to developing, administering, and managing applications and infrastructures with AWS. With this, you'll be able to create, design, and manage an entire application life cycle on AWS by using the AWS SDKs, APIs, and the AWS Management Console.
You'll start with the basics of the AWS development platform and look into creating stable and scalable infrastructures using EC2, EBS, and Elastic Load Balancers. You'll then deep-dive into designing and developing your own web app and learn about the alarm mechanism, disaster recovery plan, and connecting AWS services through REST-based APIs. Following this, you'll get to grips with CloudFormation, auto scaling, bootstrap AWS EC2 instances, automation and deployment with Chef, and develop your knowledge of big data and Apache Hadoop on AWS Cloud.
At the end, you'll have learned about AWS billing, cost-control architecture designs, AWS Security features and troubleshooting methods, and developed AWS-centric applications based on an underlying AWS infrastructure.

2016-03-27 Docker in Action Manning Publications
ISBN 1633430235 ISBN-13 9781633430235
Summary
Docker in Action teaches readers how to create, deploy, and manage applications hosted in Docker containers.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
The idea behind Docker is simple. Create a tiny virtual environment, called a container, that holds just your application and its dependencies. The Docker engine uses the host operating system to build and account for these containers. They are easy to install, manage, and remove. Applications running inside containers share resources, making their footprints small.
About the Book
Docker in Action teaches readers how to create, deploy, and manage applications hosted in Docker containers. After starting with a clear explanation of the Docker model, you will learn how to package applications in containers, including techniques for testing and distributing applications. You will also learn how to run programs securely and how to manage shared resources. Using carefully designed examples, the book teaches you how to orchestrate containers and applications from installation to removal. Along the way, you'll discover techniques for using Docker on systems ranging from dev-and-test machines to full-scale cloud deployments.
What's Inside
About the Reader
Readers need only have a working knowledge of the Linux OS. No prior knowledge of Docker is assumed.
About the Author
Jeff Nickoloff, a software engineer, has presented Docker and its applications to hundreds of developers and administrators at Desert Code Camp, Amazon.com, and technology meetups.
Table of Contents
PART 1 KEEPING A TIDY COMPUTER
- Welcome to Docker
- Running software in containers
- Software installation simplified
- Persistent storage and shared state with volumes
- Network exposure
- Limiting risk with isolation
- Packaging software in images
- Build automation and advanced image considerations
- Public and private software distribution
- Running customized registries
- Declarative environments with Docker
- Clusters with Machine and Swarm
PART 2 PACKAGING SOFTWARE FOR DISTRIBUTION
PART 3 MULTI-CONTAINER AND MULTI-HOST ENVIRONMENTS

2017-10-23 Node.js, MongoDB and Angular Web Development: The definitive guide to using the MEAN stack to build web applications (Developer's Library) Addison Wesley
ISBN 0134655532 ISBN-13 9780134655536
Module Resources
http://mean.io/
https://www.docker.com/
https://angular.io/
https://material.angular.io/
https://aws.amazon.com/documentation/
https://github.com/
IT Sligo Virtual Machines
None