Project 1
Table of Contents
Proposal
Submit a project proposal (no longer than 1 page) that contains the following information:
- What server application are you proposing to use?
- What does this application do?
- What references do you have that document how to install it on a server? Provide the links.
- How will you demonstrate that you have successfully installed it?
- What references do you have that explain how to properly secure this application? Provide the links.
- How will you demonstrate that you have successfully secured it?
- What will your project cost in terms of AWS credits? What is the basis of this cost estimate?
The instructor reserves the right to reject project proposals for applications that are “too easy” or have been chosen by “too many” students.
Project topics that are not allowed include, for example:
- XAMPP "server in a box" scripts that auto-install everything with a single command
- Quick-start AWS wizards that auto-deploy everything
- Any managed AWS services, e.g. Relational Database Service (RDS)
Implementation
Now it’s time to do what you proposed!
- Create instance(s) at AWS
- Install the server application
- Configure it (according to documentation of best practices that you have found)
- Secure it (according to documentation of best practices that you have found)
- Demonstrate that it functions
Suggestion: Take screenshots and thorough notes throughout the installation process so you remember what you did and can present it at the end.
Installation Report
As you proceed with your installation, document every (successful) step you take and every reference you use. A classmate should be able to follow your documentation and, without consulting any external references, arrive at the same functioning system that you have.
Your report should contain:
- A brief (~2 paragraph) explanation of the system
- Step by step documentation on installing the system, including commands entered and screenshots at significant steps in the process
- A discussion of how to configure the system, including any configuration files or other important settings
- A discussion of how to secure the system, including any configuration files or other important settings (such as AWS security groups)
Note: The installation report is where the bulk of the project points are assigned. If you don’t document it in the report, your instructor won’t know that you did it!
Presentation
Create a 10 minute (+/- 2 minutes) recorded video of your selected application and installation process. Your presentation should cover the following topics:
- 2 minutes
- Summary of what the application does
- Demonstration that you have it successfully working in your AWS account
- 8 minutes
- How to install the application
- How to configure it after it has been installed
- How to secure it after it has been installed
Presentation Peer Review
Every presentation will be reviewed by 3 of your classmates (randomly assigned) through a Canvas assignment that is due after presentations are submitted. Peer reviews are anonymous.
Selected Topics
Subject to change prior to proposals being approved.
Name | Topic / Server Application |
---|---|
Acosta Robles, Kevin | Samba file server |
Alasa-As, Symohn Maglinte | WordPress web CMS |
Avinash | Jitsi video conferencing |
Bhavsar, Riddhi | Nebula overlay network (from Slack) |
Chin, Cheng Ko | PostgreSQL |
Del Rosario, Laila Cabalbag | Lychee photo management |
Eskinder, Ruth | Couchbase NoSQL database |
Figel, Sean | Seafile file syncing/sharing |
Fines, Christopher Sarte | Universal Media Server |
Kan, Vanessa | NextCloud file sharing/syncing |
Khan, Eesa Rahil | WordPress web CMS |
Le, Hung | NextCloud file sharing/syncing |
Li, Yongyan | CyberPanel one-click web console |
Mata, Julian U | Minecraft server |
Pinnamaneni, Nitin | Drupal 8 web CMS |
Raboy, Brandon Luis | Plex media server |
Reyes, Marcos | ownCloud file sharing/syncing |
Riley, Cooper Patrick | vaultwarden private password manager (w/docker) |
Scully, Camryn Brittany | ProjectSend file sharing/collaboration |
Singh, Jugraj | Jellyfin Media Server |
Son, Thyphien | Seafile file syncing/sharing |
Wang, Hongyu | MySQL database |
Wu, Kenny | MongoDB is web scale |
Xing, Tianxiang | MySQL database |
Zhang, Mingxuan | PostgreSQL |
Example Topics
Selected projects from Fall 2020:
- Seafile - File sharing and sync
- NextCloud - File sharing and sync
- Docker + Bidwarden_rs - Password-manager server
- Jenkins - Continuous integration and continuous delivery (CI/CD) server
- MongoDB - NoSQL server
- Drupal - Web CMS
- WordPress - Web CMS
Grading
- Proposal (10 points)
- Installation (0 points) - All effort here must be documented in the report to “count"
- Installation Report (90 points)
- Presentation Video (40 points)
- Presentation Peer Reviews (10 points)
Submission
Submit all files to the Canvas CMS site.
There will be separate Canvas assignments for:
- Proposal
- Installation Report (PDF)
- Presentation Video
- Presentation Peer Review