chriscalloway / sustain Goto Github PK
View Code? Open in Web Editor NEWAndroid project to create water sourcing application for CS2340
Android project to create water sourcing application for CS2340
Since the customer's request is to add information to the Student, we can focus on the Student class.
To support the class standing, we will first need to create a new class named ClassStanding which is an enum with the values FRESHMAN, SOPHOMORE, JUNIOR, and SENIOR. Give each class a two character representation "FR", "SO", "JR" and "SR".
Now add an attribute to Student which holds the ClassStanding enum.
Add getter and setter for the ClassStanding
Make a new 3 param constructor which includes name, major and class standing. Keep the old two param constructor for backwards compatibility and use constructor chaining to give a default class standing of Freshman.
Change the toString method to contain the class standing also.
At this point the model should be runnable and we should see the changes reflected in the list. Go ahead and run the app at this point. You should see all the students listed as before except with their classes shown. If you don't see the classes, be sure your constructor chaining is passing the freshman value to the 3 param version. Also be sure you added the class standing to the toString method.
Congratulations you have edited a full stack MVC app. You also caught a glimpse of the life of a maintenance programmer. Most of you will not work on new applications, you will work on established products to add new features, just like we have done here.
Be able to navigate to 'Submit Water Report' Screen
Have input screen where information is captured from user
Store the information in the model once the 'Submit' button is pressed
Have a 'Cancel' button where nothing is stored
Now you will need to add some widgets to the view so that when adding a new student, you can get the class standing from the user. Open the StudentEditDialog.xml file.
You will see that the dialog is laid out in a grid layout with labels and input fields. You will need to add to the grid some way to input the class standing. I used a combobox, but 4 radio buttons would work. You could use a text field and type in the standing, but that is error prone and you would need to validate that an incorrect entry was not made.
Now you should be able to run the app again, just to make sure everything is ok. You should be able to hit the add student button and your dialog should pop up with your new UI features showing. It wont actually do anything yet, and if you used a combobox like me, it won't have any values in it. To make the display actually work, we have to edit one more class, the controller.
Make sure that the original remains unmodified and that changes to the branch are done on the main (master) branch.
Ensure that the .jar (that is the resources.jar file in the lib directory) is on the class-path for compilation and execution.
There appears to be no grading criteria for this.
Task 1
TO get the registration page completed
Task 2
Add the registration screen to your app. A new user should be able to register by entering their information (like name, id, and password). If accepted, the new user should be added to the system. If cancelled, the user should not be added.
Task 3
Task 4
Navigation option to show water availability screen
Map displays
Pins are on map at each report location
Selecting a pin shows details of the report
Task 1
Show that previous functionality still works.
Provide a way to navigate to the water availability screen.
Display a map
Place pins at the locations of each report
Show report details for a pin when it is selected by the user
Task 2
Task 3
Task 4
Each team member choose one file in the src directory to work on (files will be located in edu.gatech.cs2340.antlab.person package). Be sure each person has their own file and no one is sharing a file.
Each team member completes the required method for their file. See the javadoc comment for instructions on what to do.
Each team member commit their changes and push back to git.
Each team member edits the edu.gatech.cs2340.antlab.pkg1.AntLabMain.java at the line indicated. This is adding in the name of the constructor in the java class edited previously.
The team members will need to work through any git merge conflicts that might ensue.
There appears to be no grading criteria for this.
Now make the view cooperate with the model. To do this, add items to the StudentEditController class (since this is the controller for our view).
Add an @FXML reference to the widgets you added for class standing. This is how you will pull data out of the widget to pass to the model. Be sure the spelling for the fxid matches what is in the .fxml file exactly.
Edit the initialize method to handle any start up code you need. If you used a combobox like me, this is where you will populate the box with the different classes (Freshman, etc). Remember that calling values() on an enum will give you an array. You will need to wrap this in an ObservableList. I made a static helper function that did that for me in the model.
Edit the setStudent method to set your widget to a default value
Edit the OK button press to pull the information out of your new widget and put into the student instance.
If you used a free text entry field, you will need to edit the isInputValid method to check that a valid class was entered. If you used a constrained widget like radio buttons or combo box where it is impossible to enter a bad value, then you do not have to do any validation.
Have a way to navigate to the water quality report screen
Ensure only workers/managers can access report screen
Ensure screen requests all required information
Cancel screen should not save data
Save should record report in the model
Manager should be able to view the list of quality reports
Each team member should add a text file to the top level directory labeled readme.pn.txt where the pn would be p1, p2, p3, p4 or p5 based upon which person you are for the lab. The contents of the file can really be anything, but should include your name and email.
Each team member should delete the text file useless.pn.txt where pn is p1,p2, p3, p4 or p5 based on your team member number. Do NOT delete the wrong files!!
Roll back changes by viewing your original branch from an earlier step. Verify that none of the changes you have made are in the project version you checked out.
View Git logs. You can do this on GitHub by viewing the blame and graphs provided
View a diff between two versions of a file
Use good descriptive Log comments for your changes/commits
There appears to be no grading criteria for this.
Go to Assignment 3, and download the M3.zip file. Extract the file into your IDE project directory. If using Intelli-J, I have included my idea files so you can import the project. If using a different IDE, or coding from the command line, simply import the code files.
If you run the project, it should build and execute normally. You should be able to add a student and see the list update.
Task 1
Provide a way to select saving and loading of system data
Persist (save) the data (serialization, custom text, etc.)
Restore (load) previously saved data
Manager can see option for showing the historical purity report
System prompts the manager for setup information for the report
System displays the XY graph with the information
Task 2
Task 3
Task 4
Each individual team member will create a build file using gradle that will allow you to perform key tasks to build the application. Name your file with your gtid.gradle for instance: gburdell3.gradle
Store your file in the repository,
Each team member should install Gradle onto their machine. Instructions are in the gradle manual at: external link: http://www.gradle.org/
Each team member will need to create an executable jar for the project. To do that, each team member will need to create a manifest. If unfamiliar with manifests, then see the official tutorial at: external link: http://docs.oracle.com/javase/tutorial/deployment/jar/
Your build file should support the following tasks:
compileJava compiles and builds the project
compileTest compiles the unit tests for the project
javadoc creates the html documentation for the project
clean removes all the files created by this project
jar creates the executable jar file for this project
The jar task should be the default if no task is designated when running gradle. Otherwise, gradle will execute the task you request, for example: gradle compileJava will compile your java project.
Can't find class AntLabMain_ This is usually from your Main-Class entry in the jar manifest. Remember that with packages, you must use the fully qualified name (package_name.class_name) not just the class name by itself.
Can't find class AntLab31_ This class is defined in the resources.jar in your library directory. This is caused by your classpath for compilation or execution not containing a reference to this jar.
Provide a way to select saving and loading of system data
Persist (save) the data (serialization, custom text, etc.)
Restore (load) previously saved data
Manager can see option for showing the historical purity report
System prompts the manager for setup information for the report
System displays the XY graph with the information
Notes:
You may have fewer than 10 user stories if you can cover the entire system in fewer.
Done Done Criteria:
New features
Model Changes
View Changes
Controller changes
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.