cosc-481w's People
cosc-481w's Issues
Implement color picker
Implementation for #5. We need the hexadecimal color code to send to the API/database.
Standarize on brandards
We should standardize on the following now.
- Primary Color
- Secondary Color
- Logo
- Name of the sponsoring company
- Licensing
Task: GUI button that imports a picture from camera roll (or lists pictures in a gallery)
GUI Mockups
We need mockups on how the GUI should look. The following features should be thought about.
- What is the first screen that we display to the user?
- It should be simple, we cannot assume any behavior by the user.
- 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
- Do we need a settings page?
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.
- Show image on page.
- Request user to tap where the grout is on the picture
- 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.
Research on image processing
Utilizing OpenCV: https://answers.opencv.org/question/171376/how-to-find-pixels-with-coordinates-specified-color-values/
What needs to be done?
Pseudo (or proof of concept) code for grabbing hexadecimal color for a specific region. For PoC, we can hardcode this.
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.
Add logo and decide on three major colors
Company name is THP
https://developer.android.com/distribute/marketing-tools/brand-guidelines
Ideally high resolution, like 1024x1024
Decide on three colors for the app, update any components existing to use those 3 colors
Create list of grout information
This can be done in a google sheet for now, but we basically need.
- Hex Color Code
- URI to purchase
- URI of image of product?
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/
- e.g. to grab a list of colors and uris would be GET
- 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
Educational tasks
Here are some tasks to familiarize with the development environment (Android and Git)
- 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) - Run the repository in Android Studio
- Easy: Add a button to the screen, when the user clicks on the button, increment a number on the GUI by one.
- 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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.