abbysoft-team / wisebuild Goto Github PK
View Code? Open in Web Editor NEWAndroid app that helps to build PC for any needs to suit any wallet.
Android app that helps to build PC for any needs to suit any wallet.
Implement databinding, keep in mind that parameter number of every part can be huge, and even number of part types will grow as app developed. Design should take this into account.
Why we need login: people will be able to add reviews on PC assemblies, parts and more, and future features may require person's identity.
Use case:
If you try to add image for new part in PartCreation activity and image size will be more than some limit, image doesn't get loaded.
When adding a new CPU part with a very big core number the app crashes.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: ru.abbysoft.wisebuild, PID: 10772
java.lang.IllegalStateException: Could not execute method for android:onClick
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:390)
at android.view.View.performClick(View.java:6663)
at android.view.View.performClickInternal(View.java:6635)
at android.view.View.access$3100(View.java:794)
at android.view.View$PerformClick.run(View.java:26199)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7593)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
at android.view.View.performClick(View.java:6663)
at android.view.View.performClickInternal(View.java:6635)
at android.view.View.access$3100(View.java:794)
at android.view.View$PerformClick.run(View.java:26199)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7593)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Caused by: java.lang.NumberFormatException: For input string: "83388388383838383838838383838883"
at java.lang.Integer.parseInt(Integer.java:618)
at java.lang.Integer.parseInt(Integer.java:650)
at ru.abbysoft.wisebuild.PartCreationActivity.getCPUPart(PartCreationActivity.java:269)
at ru.abbysoft.wisebuild.PartCreationActivity.savePart(PartCreationActivity.java:242)
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
at android.view.View.performClick(View.java:6663)
at android.view.View.performClickInternal(View.java:6635)
at android.view.View.access$3100(View.java:794)
at android.view.View$PerformClick.run(View.java:26199)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7593)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Need to update list after part creation
Steps to reproduce:
Assembled computer is container for several other computer parts. Assembled computer consist of motherboard, cpu, memory, etc. When creating assembled computer there must be ability to choose components from Browser and add in computer available slots. Then user can save computer assembly. Total price must be calculated also.
Header for PartCreation activity must have additional space between New and PartType strings
When you scroll to the end of the list of CPU's in PartBrowser there is one partly visible card. I think this partly visible card can somehow confuse user. Maybe it's actual item that for some reason doesn't completely visible? It's important bug if so.
UPD. Last element is real one from DB, so this issue is bad
Every created part must contain unique ID
Create computer part description (motherboard, cpu, memory)
Store this parts in some db (may be local storage at this point or in memory)
Use case:
Need a way to browse through available parts, let user selected part type and show every part that is in storage.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: ru.abbysoft.wisebuild, PID: 9521
java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.abbysoft.wisebuild/ru.abbysoft.wisebuild.PartCreationActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void android.view.ViewManager.removeView(android.view.View)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3403)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3587)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2185)
at android.os.Handler.dispatchMessage(Handler.java:112)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7593)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void android.view.ViewManager.removeView(android.view.View)' on a null object reference
at ru.abbysoft.wisebuild.utils.LayoutUtils.removeViewFromLayout(LayoutUtils.java:18)
at ru.abbysoft.wisebuild.PartCreationActivity.addFieldsForMotherboard(PartCreationActivity.java:200)
at ru.abbysoft.wisebuild.PartCreationActivity.addAdditionalFields(PartCreationActivity.java:153)
at ru.abbysoft.wisebuild.PartCreationActivity.onCreate(PartCreationActivity.java:100)
at android.app.Activity.performCreate(Activity.java:7458)
at android.app.Activity.performCreate(Activity.java:7448)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1286)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3382)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3587)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2185)
at android.os.Handler.dispatchMessage(Handler.java:112)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7593)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Currency sign (for now USD) must be placed after price value for each part
I think we need to decide how will we fill our DB and from where.
I chose all components required for assembly, click "save assembly" button and nothing happen
When part name is too long it overlaps other elements. I think long names should be trimmed
Every component that can affects performance of pc must contain performance score data
Logged users must have ability add comments and rating for every piece
Assembled computer must be derived from common parent with ComputerPart, to be able to work with them in the same way in Browser and other activities.
Maybe we can extend ComputerPart itself, just with new Type AssembledPC
Problem: When you press up button on part creation screen you are always been redirected to the main screen. But when you go to that screen from part browser activity, you should return to the browser when "the Up" button is pressed
If user type new line multiple times field crawls down the screen and layout become invalid
Browser must support choosing of category of part. It also must support adding of new categories (new categories in model must be showed in Browser).
Need to test localisation of entire app and fix all issues
Price must contain currency at field label and in field itself
Save button not visible on my screen (Huawei P Smart FullHD) on CPU part creation screen.
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.