Software Engineering Android Vehicle Identification App
thefridge111 / team7 Goto Github PK
View Code? Open in Web Editor NEWSoftware Engineering Android Vehicle Identification App
License: GNU General Public License v3.0
Software Engineering Android Vehicle Identification App
License: GNU General Public License v3.0
Create a place holder page for the initial page of user upload. Just background colors, headings, settings button ,etc. Follow google drawing design.
Work on getting Google account sign in functionality. This should happen the first time the app is started and have some sign-in/sign-out functionality in the main settings menu.
Add code to the back buttons so they bring you to previous page
Using the schema created in #21 install/setup the database on the appropriate server. Whether that is a server downstairs in the basement or an app-engine server will be decided. This will include the create table statements.
Create the background with the correct colors. Add the home screen header "Norwich U. Vic ID App". Colors should reflect the general colors in the google drawing.
These back buttons need to allow the user to return to the previous page. AKA: the home page of the app. To reiterate, these back buttons are not merely placeholders but actually functional.
Set up the Github Repo and make an initial commit so that everyone has the same app to work on.
Layout the basic requirements of the app. Questions that need to be answered:
What should each part/page of the app do? I.e. What should the user be able to do/not be able to do, whats happening data-wise, etc. Just define some lateral limits of the app. You can draft this where-ever you want but either upload it into the wiki here on Github or create a documentation folder at the project's root.
I've assigned this to Milestone 2 so that if you want to draft the flow chart simultaneously you can.
Create an upload button. Does not necessary need to work. Just a place holder to improve upon later.
Install Android studio and setup all youre preferences to your liking.
Create database design documents. This will primarily consist of a relational model for the tables and views. Also, research how dbs work in android. I.e. mysql, sqlite, mariadb, etc.
Create two flowcharts: one for the data flow throughout the app and another for how the user interacts with the app. The first should definitely mention the database and the second should be similar to a state-machine diagram.
This links to issue #4
Add a 'hamburger' icon to open settings page from the side as discussed in class. If possible add menu items as layed out in google drawing.
Finish fleshing out the google drawing with the designs for each of the screens - Settings, upload, vote, etc. When you run out of space just drag the canvas and add some more pages.
The middleware for the backend database needs to be created. After some research it seems that the best way to handle this is to spin up a server on the db machine and have that handle queries to the DB instead of the app querying directly. I.e App==Query==>Server==Query==>Database.
Create the landing pages for the encyclopedia, upload, and vote. These just need to have the background coloring consistent with the rest of the app.
Link the buttons on the home page to the different landing pages: Vote!, Upload and encyclopedia.
Fix encyclopedia landing pages so that the listview displays data from the database.
Add a vote button as a place holder to improve upon later. See google drawing for coloring and layout.
Integrate existing Google Sign-in functionality into the main activity so that Users are prompted. I also want to put a link in the setting page to allow users to sign in/out.
Formally define functional requirements for the app. Use 'Should' for nice to haves and 'Shall' for mandatory requirements.
make a radio group to sort by model, year, or make
Implement the entry 'list' in the encyclopedia. If necessary create some placeholder objects behind the scenes to populate the list. Check out tutorials on how to do things like make a todo list.
Integrate our three flow charts into one cohesive chart that we will then follow for the rest of the app.
We need at least a use case for each button -- Encyclopedia, Vote, Upload. Just a basic walkthrough of how a user would use the app.
Add several text fields as discussed to the upload landing. Just like in the test app. Just have different fields like Name, Brand, etc. and an add button to add them all at once.
Add the vehicle icons to the upload landing page. These either need to be vehicle icons with check boxes underneath or standalone buttons. These will primarily be placeholders until the DB is more finalized.
Flow diagram of the encyclopedia created. How the code flow will work, API defined, etc. Become familiar with wikipedia API referenced in this projects wiki. This is how we will import entries for the database. Use JSON format for easier data scraping.
Implement the sort function/button on the encyclopedia page so the user can sort by different values.
Continue to update / work on voting page. Do not worry about images, just buttons / layout
Pull together all of our disparate documentation into one cohesive, readable document. Hand in by Thurs Dec. 10 @ 2000.
--FluidUI mockups
--Drive documents
--Github issues and milestones
Icons for use in the upload page need to be created for faster implementation in the future. May need to research what icons/images are supported in android.
Pull over code and xml from test app and integrate with vicIDapp. Make new files for new code to facilitate merge.
Draw up design and layout of the landing/home page of the app - the first thing the user sees. This should basically be a picture. This should also be upload to the wiki in the documentation section. Collaboration with the team is encouraged.
Figure out how to implement user profile creation and storage based on App Engine. If possible begin basic implementation.
Look at Tinder as starting point. Figure out how to pull previous uploads from database randomly. Make detailed flow diagram of voting functions.
Add a browse vehicle button to home screen that will later link to encyclopedia functionality. Does not need to work, just a place holder to improve on later.
Expand testing documentation to formally cover how we plan on testing our app. As it stand we use built in testing features in Android Studio.
Add rough drafts of project milestones to Github to make progress easier to track. Incomplete Milestones can be filled in at a later date.
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.