Coder Social home page Coder Social logo

circuitverse / mobile-app Goto Github PK

View Code? Open in Web Editor NEW
69.0 69.0 93.0 14.05 MB

Mobile App for CircuitVerse

Home Page: https://play.google.com/store/apps/details?id=org.circuitverse.mobile_app

License: MIT License

Kotlin 0.01% Swift 0.05% Objective-C 0.01% Dart 89.65% Ruby 0.25% HTML 0.33% JavaScript 9.67% Shell 0.04%
flutter hacktoberfest

mobile-app's Introduction

The CircuitVerse logo

Financial Contributors on Open Collective CircleCI Status Coveralls Coverage Status

CircuitVerse is a free, open-source platform which allows users to construct digital logic circuits online. We also offer the Interactive Book which teaches users on the fundamentals of modern, digital circuits. Please also see our documentation or GitHub Wiki.

Community

We would love to hear from you! We communicate on Slack:

Slack

Code of Conduct

We follow the Code of Conduct of the CircuitVerse Community.

Setup

See SETUP.md for more information on setting up CircuitVerse.

Contributing

See CONTRIBUTING.md for more information on contributing to CircuitVerse.

License

This project is licensed under the MIT License.

mobile-app's People

Contributors

aadeesh11 avatar aditya-150 avatar aman-singh7 avatar anshnrag02 avatar cyber-venom003 avatar danger-ahead avatar dependabot[bot] avatar guptapriyanshu7 avatar icoder-007 avatar imgbot[bot] avatar imgbotapp avatar itsadityaksingh avatar jaggu21 avatar jassi-singh avatar m-a-d-a-r-a avatar manjotsidhu avatar neha62-lit avatar nishantchandla avatar nitish145 avatar noman2002 avatar omegaviv avatar paradox50 avatar pavanjoshi914 avatar pranavmasekar avatar pratikbaid3 avatar roopak99 avatar suyash-patil avatar tachyons avatar tanmoysrt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mobile-app's Issues

Upgrade to flutter 2.0

Some deprecations in flutter 2.0 like FlatButton, RaisedButton etc. needs to be changed to use the new API for the buttons.

The deprecations will be highlighted using pedantic's linting.

Keyboard not disappearing on clicking outside the view

Describe the bug
After the keyboard appears on clicking on a text field, the only was to exit the keyboard is press the back button (android) or exit the view (ios).

To Reproduce
Steps to reproduce the behavior:

  1. Go to the 'Profile' page from the drawer
  2. Click on 'Edit Profile
  3. Try clicking outside the keyboard view
  4. The keyboard does not disappear

Expected behavior
The keyboard should exit as soon as we click outside the scope of the keyboard and actions like pressing the back button or exiting the view should be abvoided

Screenshots
Screenshot_20210115-151756

Are you working on this issue? (Yes/No)
Yes.

No text shown when the user isn't a member of any group

Is your feature request related to a problem? Please describe.
When the user is not a member of any group the groups tab shows no space below the heading and is immediately followed by the next heading. This looks odd. See attached screenshot for reference.
Describe the solution you'd like
A text widget showing 'None' in case of no groups improves the look of the screen.

Additional context
before

Are you working on this? (Yes/No)
Yes

Disable add button on empty input field of Add Group Members

Is your feature request related to a problem? Please describe.
If the input field is left blank and user presses the ADD button then it shows a Enter emails in valid format error message.

image

This error message is not appropriate, since the user hasn't entered any email yet, so there comes no question of correct email format.
Describe the solution you'd like
It will be better to disable the ADD button till the input field is empty. This will result into a better UX.

Are you working on this? (Yes/No)
No

[Interactive Book] Fix text links in pages

Describe the bug
There are 2 types of links in Interactive Book:

  • Relative URIs/Links: They are relative links which should navigate to the specific section in the page.
  • Absolute URLs: They are external links should directly open the link on external browser.

ToDo

  • Fix Absolute URL specifying action onTap
  • Fix Relative URLs by first assigning id's like markdown to headings and scrolling to the specific widget by Id. This will also open doors for linking Table of Contents list item to scroll to specific headings.

NOTE: Interactive Book being in beta, can be checked in ib branch

Dart: Migrate to null safety

Describe the bug
We should be migrating to null safety which was introduced in Dart 2.0. But before that, we need to make sure that first our dependencies are migrated to null safety according to this Guide: https://dart.dev/null-safety/migration-guide

Wait for the packages that you depend on to migrate.
Migrate your package’s code, preferably using the interactive migration tool.
Statically analyze your package’s code.
Test to make sure your changes work.
If the package is already on pub.dev, publish the null-safe version as a prerelease version.

This Issue serves as a checklist of all the packages which have been migrated to null safety.

  • animations
  • cupertino_icons
  • datetime_picker_formfield
  • flutter_facebook_auth
  • flutter_html
  • #119
  • flutter_keyboard_visibility
  • flutter_summernote (published on 21st June)
  • flutter_svg
  • flutter_typeahead
  • get
  • get_it
  • google_sign_in
  • html
  • http
  • intl
  • mockito
  • oauth2_client
  • photo_view
  • provider
  • share
  • shared_preferences
  • theme_provider
  • timeago
  • transparent_image
  • url_launcher

Once this list is complete which means all our packages are sound null safety. We should use migration tool to migrate to null safety.

Introduce dark mode

Now a days everyone like the dark mode so i would like to add dark mode option on the app.

Toggle Full screen for Project Details view

Is your feature request related to a problem? Please describe.
Better view of the circuits.

Describe the solution you'd like
I think it be better to have a button to toggle the current circuit image in Project Details view as full screen instead of just able to zoom inside the fixed 1x1 widget.

Are you working on this? (Yes/No)
No

Release app on firebase app distribution to get user feedback [develop CI]

Is your feature request related to a problem? Please describe.

It is not a problem but a usability enhancement to the project

Describe the solution you'd like
I was wondering that if a person is kind of non-developer or haven't been to GitHub then we can provide them the apk via firebase app distribution and they can test the app and developers can get the comments from the users via a good way.
Writing a GitHub actions which will directly push the app to firebase app distribution and beta testers will get email from app distribution about our new pre release version automatically.

Describe alternatives you've considered
Alternatives are already there to release the app via an apk which is available in GitHub artefact.

Additional context
You can read about firebase app distribution here https://firebase.google.com/products/app-distribution

Are you working on this? (Yes/No)
I can work on this issue if other mentors of this projects agrees with this.

add a splash screen

When the app boots it shows a blank white screen, i will add a CircuitVerse splash icon.

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like
Add drawables.

Additional context

  • Previously

cv_prev

  • Now

cv_now

Are you working on this? (Yes/No)
Yes

Validate password form

Right now in the password Field for the login and sign up form the user can try to login with or sign up with a single character password, I want to validate the frontend so that the user can only login or sign up with password greater than or equal to 6 characters

Feature: Empty State Icon/Message missing.

If the groups are empty the app screen appears like empty lists with the headers.

  1. Install the .apk file
  2. open the app
  3. go to the side pane and login/signup
  4. now under your name in the side pane go to the group section

WhatsApp Image 2021-05-23 at 2 15 53 PM

Solution.
If none of the lists have an element then print the message with a visual depiction.(Empty State icon/Message)

I wish to work on this issue @manjotsidhu @nitin10s

Display rating of circuits in more better way

Rating show one star only when the rating is 1 stars or 5 stars.

WhatsApp Image 2021-01-23 at 8 15 02 PM
WhatsApp Image 2021-01-23 at 8 15 04 PM

It should show five stars and the number of stars that should be golden is the rating and the rest to be grey this way it will look more better.

I will work on this.

Add pinch to zoom in all the circuit image. Some images are very small and viewing the text is difficult without zooming it.

Is your feature request related to a problem? Please describe.
The circuit displayed in the project detail page is very small and there is no option to zoom.

Describe the solution you'd like
Add a full screen icon with the image that redirects the user to another page with the full screen of the image, this view would allow pinch to zoom so that the user can easily zoom and view the entire circuit

Describe alternatives you've considered
Alternatively, I could add a pinch to zoom in the existing page that allows to expand the image.

Additional context
Simulator Screen Shot - iPhone 11 Pro Max - 2021-01-16 at 00 16 59

Are you working on this? (Yes/No)
Yes

Terms of Service needs to be natively written

Terms of Service view should be natively written instead of loading it in WebView.
This should also implement Search API to search Users and Projects.

Are you working on this? Yes

Issue in adding group members

pending
If the previously entered email has not accepted the invitation to signup
then we are not able to add new user's email address in it
as it shows pending.
Solution: codebase need to made in such a way that even if previous user not accepted the invitation, still it should add new user.
Are you working on it? Yes

Restrictions on number of characters to be used in form input fields

Is your feature request related to a problem? Please describe.
Mobile-app posess forms for group creation , assignment creation , profile edits etc
Currently majority of the input field of forms don't provide restrictions on number of characters to be used and results into uncleaner UI experience

Describe the solution you'd like
1> provide restriction on number of characters entered by user before submitting
2> Truncate strings so that limited number of characters are shown in UI

Additional context
Screenshot_20210403_130046

Are you working on this? (Yes/No)
No

Spelling error in image picker bottom sheet

Is your feature request related to a problem? Please describe.
There is typo in the spelling of Gallery in the bottom sheet of image picker.

image

Describe the solution you'd like

Option1: Make changes in the implementation of the package and then use the modified package.
Option2: Use an alternative package.

Are you working on this? (Yes/No)
Yes

Focus on discovery

Currently mobile app just like mobile web view of circuitverse website. As we don't have immediate plan to integrate simulator within the app, we should improve the circuit discovery in the app, home page should be about exploring featured, top, trending circuits

Missing Failed to load/ Error widget

Describe the bug
Should be a proper view if content failed to load due to some error like no internet or something

To Reproduce
Steps to reproduce the behaviour:
Turn off internet & load something.

Screenshots
If applicable, add screenshots to help explain your problem.

Device Information [optional]:

  • OS: Android

Additional context
No

Are you working on this issue? (Yes/No)
No

Profile Name change is not reflected on App Drawer

Issue

After changing Profile Name, the new name is not reflecting in App Drawer and it will show new name only after restarting the App.

Steps to reproduce this issue -

  1. Go to Profile > Edit Profile > Change Name.
  2. Check App Drawer, it should be reflecting the old name.
  3. Restart the App and it will show the newly changed name.

Are you working on this? No

Usage of relative paths instead of package paths.

Is your feature request related to a problem? Please describe.

All the imports of lib folder are imported using packages.The official documentation recommends to use alternative paths instead.Although this is debatable topic,since the documentation has mentioned to use relative paths , I would suggest you to have a look into this issue.

Links
Documentation

Are you working on this?
Require approval before I can start working.

CI/CD for Google Play Store using Fastlane

Continuous Integration and Deployment of Mobile App should happen using Fastlane with the help of GitHub Actions.
Changes pushed to master branch should automatically trigger GitHub Actions pipeline and Incremental build should automatically be deployed to Google Play Store.

[Feature]Usage of Focus Nodes

Is your feature request related to a problem? Please describe.
Currently all the forms in the app do not use focus nodes which means user will have to always select on the next input field manually. Providing an option to navigate to next input field from the keyboard will look great!

Solution
Usage of focus nodes.

Are you working on this?
Yes.

Register Tile along with Login in Sidebar

Is your feature request related to a problem? Please describe.
Currently, there is only Login button in sidebar. If a user wants to register, he has to go to login page and then to signup page. After this feature, he can directly go to registration page.

Describe the solution you'd like
We can create a Register button so that user can go to register page directly.

Are you working on this? (Yes/No)
Yes, I am working on this issue.

Change in Icon Style

The app icon is in square shape not circular. This makes the app aesthetically unappealing and it is not in sync with material design concepts and gives an asymmetric look in comparison to other apps.

Kindly change the app icon to a circular shape.

WhatsApp Image 2021-05-20 at 12 49 53 PM

Kindly make the changes.

feature: Implementing Lazy Loading(Scroll to load) for FeaturedProjectView

Is your feature request related to a problem? Please describe.
As we scroll to the end, a "Load More" button appears to load more items.
Describe the solution you'd like
Instead of the Load Button, more items should automatically load with a loading animation as soon as we reach the end of the list.

Additional context

Are you working on this? Yes

Simulator for Mobile App

This issue serves as the discussion thread for different approaches to bringing the simulator to mobile_app.

Timing spelling is wrong in front page

Describe the bug
In the front page ,as the app opens the main screen after the logo, there is spelling mistake in timing. It is written "plot timimg diagrams" instead of "plot timing diagrams".
To Reproduce
Steps to reproduce the behavior:

  1. Go to 'circuitverse app'
  2. Scroll to 'front page'
  3. See error

Expected behavior
It should be written plot timing diagrams.

Screenshots
If applicable, add screenshots to help explain your problem.

Device Information [optional]:

  • OS: [Android]

Additional context
Add any other context about the problem here.

Are you working on this issue? (Yes/No)
No

Showing starred in unstarred project

When one goes from favourites to project detail and unstar the already starred project and pops back to favourites and once again goes project detail page the star button shows it as starred.

Have a look

Screenrecording_20210207_212545.mp4

ui: Add member dialog is not aligned to the center

Describe the bug
Add Member dialog box should be aligned to the center.It should adjusts it position according to the keyboard state.
To Reproduce
Steps to reproduce the behavior:
In the group details page,click on Add (Member's tile)

Screenshots
before

Additional context
SingleChildScrollView is causing the problem.

Are you working on this issue? (Yes)

When the description for a circuit is not present it just shows "Description:"

Describe the bug
When the description for a circuit is not present it just shows "Description:". Would it be better to remove the entire 'Description' section in case of no data.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Home'
  2. Click on 'VDay circuit'
  3. Scroll down to 'Description'

Expected behavior
The entire description field could be removed incase there is no data

Screenshots
If applicable, add screenshots to help explain your problem.
Simulator Screen Shot - iPhone 11 Pro Max - 2021-01-09 at 13 46 47

Are you working on this issue? (Yes/No)
Yes. I am working on this issue.

Add a share link button to project screen.

Is your feature request related to a problem? Please describe.
I wanted to share a project I found using the app. But there is no option to do so. I had to find the same on website and then copy and share the link.

Describe the solution you'd like
Add a share link button in project screen, this would allow user to share link of the project in other apps. This will use the share plugin - https://pub.dev/packages/share

Describe alternatives you've considered
Create Deep links/ App links to open the project in app directly. Uses https://pub.dev/packages/uni_links plugin.

Additional context
Screenshot_20210123-191502

Are you working on this? (Yes/No)
Yes

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.