GithubHelp home page GithubHelp logo

cosc-481w's People

Contributors

daltz333 avatar epamelisaosinery avatar gmayer12 avatar naveensureshh avatar

Watchers

 avatar

cosc-481w's Issues

Standarize on brandards

We should standardize on the following now.

  • Primary Color
  • Secondary Color
  • Logo
  • Name of the sponsoring company
  • Licensing

GUI Mockups

We need mockups on how the GUI should look. The following features should be thought about.

  1. What is the first screen that we display to the user?
    • It should be simple, we cannot assume any behavior by the user.
  2. What kind of screens do we need?
    • Do we need a settings page?
      • Could be used for forcing a clear of the cache from the database.
    • Color-picker GUI?
    • Camera button/GUI?
    • Interface for showing the closest match grout and purchase link

Figma is great for prototyping UI's in. https://www.figma.com/

Implement backend for application

Mostly relies on #11 and #10, but it can pretty much be completed by using a sample JSON listed in the aforementioned issues.

Basically, the backend needs a function that takes a given hexadecimal string, asks the API for the information regarding it, and then returns the object representing the API response.

Research on how to do a color picker in Android

We might not be able to find a canned solution, so one possible thought would be.

  1. Show image on page.
  2. Request user to tap where the grout is on the picture
  3. Grab the X/Y position of the tap, convert to coordinates on the image.

What needs to be done?

  • Is the above possible? Is there an easier way?
  • Pseudo code or PoC

Implement initial camera picker prototype

Relies on #6

  • Button to open camera to take a picture, this should be saved into the memory of the android application somewhere
  • Button to open an existing photo

There might even be an android API that does both of these. I remember seeing applications.

Feature Planning

This is just a brainstorming issue tracker for feature planning and breakdown of features. We should create individual issues with assignees for who is the lead on a given issue.

Implement database API

Basically, a HTTP server that accepts the following parameter

myip:443/api/v1/grout?hex=FFFFFF

where hex is the hexadecimal return. the output should be a JSON response similar to the following

{
   "color": "FFFFFF",
   "uri": "https://google.com"
}

if the request is invalid, we should return http error code 400.

The language can be w/e. Java/C#/Python/React/etc the developer is comfortable with.

Mockup/implement the homepage GUI

I personally like Figma for UI mockups, but whatever can be used, or it can be directly implemented.

Basically, we need a UI that is simple and clear to the user what the intent of our application is. That intent being a tool to take pictures of grout, and offer purchase suggestions.

Implement database

This assumes #3 is done. This is the actual tracking issue for putting information in the database and testing queries.

  • Create table that contains the following
    • Hexadecimal color code
    • URI to webpage to purchase grout

Ensure it works by running a few queries on it. If we want to be really fancy, we can make it read only since clients should never need to modify the database.

Database Initial Work

This is my rough thoughts on the matter, but we should clarify the requirements and design a database schema.

What needs to be done:

  • Schema (what possible API calls would need to be done)
    • e.g. to grab a list of colors and uris would be GET myurl.com/api/v1/colors/
  • Database Setup (maybe create the necessary tables)
    • I have a small cheap server I could give SSH access to if someone wants to experiment with

schema drawio

Educational tasks

Here are some tasks to familiarize with the development environment (Android and Git)

  1. Commit a test.txt file to the root of this repository. This file can contain whatever text you like. Bonus brownie points if you use a different branch, and then pull request it. DO NOT, use the website for this (defeats the purpose)
  2. Run the repository in Android Studio
  3. Easy: Add a button to the screen, when the user clicks on the button, increment a number on the GUI by one.
  4. Medium: Add a recycleview (or whatever Android calls a list of data), this recycleview should have a list of text, can be any text

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.