-
Notifications
You must be signed in to change notification settings - Fork 0
Accessing the Development Stack
This page contains all of the necessary information for accessing each portion of the development stack. Apart from tutorials on access, each section will describe typical actions or tasks that can be accomplished using each portion of the stack. Please refer to the necessary sections below to learn more about each portion of the stack.
Listed below are tutorials for accessing each portion of our custom Amazon environment. In order to begin, it's important to first have access to an AWS account. For the sake of this tutorial, an IAM account has been created already for members of the Tool Shed to use. To login to AWS, please head to the Amazon Web Services' Login Page. From here, click on the IAM User option. Within the text box labeled "Account ID (12 digits) or account alias", enter the following number: 939999126413. This value is associated to the root user account for The Handymen's Amazon environment. Once this is entered, press the "Next" button. From here, sign in as the following pre-created user. Make sure all credentials are entered EXACTLY as they appear below:
- Username: seactoolsheduser
- Password: SeacToolShed!
After typing in these credentials, log in, and, after verification, Congratulations! You're now signed into The Handymen's custom AWS environment! You should see a dashboard similar to the following below:
From this dashboard, you'll be able fully access each part of the AWS environment. In subsequent sections, more detail will be revealed regarding each AWS technology used in this application.
Amazon Lightsail is A Virtual Private Service (VPS) provider currently hosting both our web application and database system. The following instruction will guide you through how to access and manage your Lightsail instance. To reach the AWS Lightsail dashboard, a few options are available. Near the top of the AWS dashboard, a search bar appears. In the search bar, you can type "Lightsail" to travel to the dashboard. Additionally, Lightsail has been added as a favorite service, meaning it now is pinned below the search bar. Pressing this button will also allow you to reach the Lightsail dashboard.
The Amazon Node.js instance is the server currently hosting the web application.
Amazon Lightsail also supports the MySQL database storing all user, tool, and transaction information. To get more information regarding the structure of the database, please visit the Database Schema Information page page. In order to access your current database instance, press the "Databases" tab near the left side of the dashboard.
Once clicked, you'll be able to see the Lightsail database named "SEAC-Tool-Shed-Database". To gain more information about this database instance, click on the database name. Here, the Lightsail database can be managed. There are a number of tabs which contain important information regarding the current database instance.
On the "Connect" page, a number of important areas are highlighted above. In green, we can see a number of important metrics related to the database including system memory, the number of CPUs, and total storage. Here, we can also stop or reboot our database instance. In blue, we can see login information for how to connect to the database through secure shell (SSH) or other means. More on this will come later when using MySQL Workbench. Lastly, in red, we can see the database endpoint and port. These will be used in our application code in order to connect and make calls to the database to lookup, insert, delete, and update any data.
On the "Logs & history" page, metrics regarding error logs. Additional logs can be enabled; however, this may impact read and write performance of the database and as a result, these logs are currently disabled. They can be re-enabled at any time.
The "Metrics" page contains a graph viewer where you can observe the performance of the database system. These metrics include CPU utilization and Database connections. More reports can also be observed. Lastly, if needed alarms can be added which can be customized to send emails or text messages when certain criteria related to the database is met such as low memory or low storage.
The "Networking" page to modify network security related to your database instance. To ensure all users are able to access your database, the networking option slider must be set to allow public access. This will ensure all users can properly access all applicable system information stored here.
The "Snapshots & restore" page allows you to manually create database backups. Additionally, the emergency restore feature allows you to restore your database to from. The database status and data is also captured on a weekly basis.
The "Tags" page uses tags to filter and organize your resources in the Lightsail console. Our Lighsail instance doesn't use tags and as such, this tab should be avoided.
The "Delete" pages allows those with access to delete the database. WARINING - If this button is pressed, all database data will be deleted with no guaranteed recovery! Proceed with caution with this option.
MySQL Workbench is a staple development used by the backend database team during application development. This tool allows developers to efficiently construct MySQL database tables, queries, and diagrams. For the purposes of this application, if the initial database ever needed to be initialized, MySQL database could easily accomplish this. In order to install MySQL Workbench, travel to the MySQL community downloads page. Once here, make sure the proper version of Workbench is chosen for you current system (As of the making of this wiki, the version is MySQL Workbench 8.0.36). Press the download button, on the next page press "No thanks, just start my download". Once the download is complete, open the wizard to begin installation. Proceed through the next few pages, pressing "Next" when applicable. Once the download is complete, you'll now be able use MySQL Workbench to view database data.
Note
MySQL must be first installed before proceeding with the next steps. To install MySQL, refer to the MySQL section.
SEAC Toolshed project by The Handymen: Ian Dinga, Andy Erskine, Fei Gao, Evan Hiltzik, Bryce Hofstrom, Michael Pacholarz, and Aryan Todi.
Special thanks to Andrew, Mike, and Nick.
- Privileges, User Levels, and Access Levels
- Database Schema Information
- User Interface
- Project Directory Structure
- Data Migration
- Create an account as a customer
- Create an account for another person as a privileged user
- Editing your own account information
- Editing the account information of another person as a privileged user
- Deleting an account