kgehmlich / soen341-group2 Goto Github PK
View Code? Open in Web Editor NEWGroup 2's SOEN 341 project
Group 2's SOEN 341 project
#70 made it possible to display the classes on the Home Page. Now when I click on a class, display this class' information such as Documents Uploaded and such.
Tasks:
Story Points: 21
Risk: High
Priority: Low
This is a user story for epic #95
Points: 13
Risk: Low
Priority: Low
Not really a app breaking bug but this is still something we should look into. After clicking on any item of the navigation bar (except sign out), the icon of that element will disappear once you come back to the navigation bar. I know we've talked about this but I just thought I'd make an official issue so we can deal with it at some point. So after clicking on all elements on the navigation bar it looks like this (signing out and back in restores the icons):
Upon choosing an image to use as an avatoar (at top of navigation menu) the image does not display correctly. It is likely that it needs to be resized to fit the button. See commit 3007c4b for implementation of image picker for user image.
This task will be assigned to Mohamed.
Need a menu in the navigation drawer to add the buttons, form and remove class details
Story Points: 13
Risk: Low Risk, High Priority
AWS Cognito's signup requirements (i.e. what constitutes a valid username and a valid password) are very strict. These should be loosened up for testing purposes.
Currently the sample app provides no feedback about why a signup failed (e.g. invalid password, username matching email, etc). More informative alerts should be added.
It is good to associate your issues with its respective milestone so that everything is better organized. You can also assign a person and label the issue by looking on the right side of the page.
can someone else review to see if it works? It was merged last night
Discuss of API function needed for feature #1. Create API in AWS and implement API in Android Application.
Currently the two implemented API calls (adding a class and removing a class) are handled by separate classes. It might be better to create a single API helper class to hold all required methods.
Recognize if student or TA logs in, and provide privileges if needed (Assignment Posting for sprint #2)
I'll need someone to confirm this for me but on the sign in it says you can sign in using the phone number. However I haven't been able to do so.
Create skeleton for login page
Instructions:
Create a public class inside Services folder
The method should take as input: class name (string)
The user ID should be determine inside the method
You can return message to say that say success/fail
Please check the functions already built
User Stories:
Other
GetAllUsersInAClass(String TargetClass)
: return List<User>
Create the NoSQL DB for tool one inside AWS. Try to use the cognito id as a key in table.
Create AWS account to host backend.
The following exception is thrown when clicking on "UPLOAD DOCUMENT" button, causing the app to crash:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.amazon.PocketMoodle, PID: 16510
java.lang.NullPointerException: Attempt to get length of null array
at com.PocketMoodle.DocumentsFragment.DirectoryFiles(DocumentsFragment.java:119)
at com.PocketMoodle.DocumentsFragment$2.onClick(DocumentsFragment.java:76)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10826)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Before going further in development...
-We should create a general syntax for variable name.
-Create wiki page to use as reference.
Change background color and add some text. Will try to do this later
Story Points: 21
Risk: Low Risk, High Priority
Use the design #59 to get an idea of how the user/TA username and email address should appear on the home page.
Use the design #59 to get an idea of how the user/TA classes should appear on the home page.
Completed Sprint 2:
Points: 21 Points
Risk: High Risk
Priority: High Priority
This is a user-story for epic #95
I was thinking of naming it iMoodle off the top of my head then put a Concordia logo on the splash screen
What do you guys prefer?
A Class
class to be used in conjunction with the backend API would simplify getting and sorting info from the databas (as opposed to referring to Class
es by their name).
Allow the user to choose the document to upload using his file explorer. This will allow them to choose files from their local device or even google drive or other storage tools attached to their file explorer.
Tasks
Points: 13 points
Risk: Low Risk
Priority: High Priority
This is a user-story for epic #95
So this is my idea for how the user information should appear: basically the navigation bar will have the username and the user's email and then the home fragment will have all classes the user is registered in as buttons that take the user to a different page when they are clicked. These "class" pages will show specific information about the class like all the documents uploaded etc, and from these pages the user will be able to remove/drop the class through another button. This means that when a user adds a class it must auto generate a page and a button for that class (not sure how easy/hard) this is to do. Anyways this is a poor version of what is should look like (let me know what you guys think):
Need a form to allow user to choose the class he wishes to remove and buttons for listeners.
Formation of teams in order to be more organized to ease job assignments and communication. Purpose is for individuals to have specific language/range of tasks to do so that not everyone needs to learn everything.
Back-End team:
Kyle and Charles
Front-End team:
Kevin, YuFeng, John, Laxman, David
TravaCI(flex):
Mohamed
Feel free to ask for help, and assist the other team if needed. We're still a team.
Ideally, we would want the back button to go to the previous fragment we were on. Unless, we reached the limit.
To integrate user pools for android apps someone needs to access the Amazon Cognito console create the user pool and provide the back-end developer these 3 values.
Backend is required for the Android app to authenticate users (see issue #13).
We want to create a function inside Services that take a class, a path and files name as parameters.
The function will upload the document in the right folder for the class.
We need to use the existing Bucket Backend methods inside the awsamazon folder.
This issue could solve the issue #41
The Android app needs to be able to communicate with the server/backend for login authentication.
See Amazon Web Services - Cognito
Ensure the app has access to the phone's storage, otherwise request it. Should fail gracefully (i.e. worst case, nothing happens).
Currently the RemoveClassFragment spinner shows a list of all class, regardless of whether or not the user has "added" those classes to his/her account. The spinner should show only classes that the user is currently enrolled in.
GetAllClass can be used to implement this.
@kgehmlich @KyCoding @iamlax @MewtR @kevin93d @johnhua9 @benadavid
Please just write your name next to a task on Wiki,
When the task is done:
Tasks:
Story Points: 3
Risk: High Risk
Priority: High Priority
High Risk
Setting up database, without the database the front end features will be unable to work.
Create the API function
Low Risk
Create Design of the tool, Create a picture of design
Create an Activity as a form
Create new UI element (Submit button, drop down)
Create new MENU option
Link API function so that the activity forms are able to interact with user.
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.