Giter Club home page Giter Club logo

0b.is's Introduction

Hello there!

My name is Riku. I am a software developer from Finland.
Currently studying computer science at the University of Helsinki.

Visit my home page for more information.

Portfolio · Resume

0b.is's People

Contributors

dependabot[bot] avatar main95 avatar rikurauhala avatar rungeh avatar solanakim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

0b.is's Issues

Create a custom theme

Currently the application uses the default color palette provided by Material UI. The application supports both a light theme and a dark theme (default).

Using the default theme is not very impressive. A custom theme should be made and it should work with both the light and the dark mode as well.

Prepare for version 1.1.2 release

  • Update the SRS document to match desired and implemented functionality
  • Update the changelog
  • Update the version button in footer
  • Update package.json
  • Push to production
  • Create a new tag and a release
  • Update README.md

Prepare for version 1.0.0 release

  • Update the SRS document to match desired and implemented functionality
  • Write the user manual
  • Update the changelog
  • Update README.md
  • Update the version button in footer
  • Update package.json
  • Push to production
  • Create a new tag and a release

Add support for different languages

The UI could be available in different languages. Default language would still be English. All work would be open sourced and not done by AI to ensure the quality and validity of translations.

To-do

  • Refactor the application to support changing the language
  • Add support for Finnish
  • Write instructions for contributing a new translation

Write the user manual

The manual should be written when most of the functionality is done and the UI is unlikely to change.

Add support for fractions

Currently the application only supports integers. Support for fractions or floating point numbers should be added.

Prepare for version 1.1.0 release

  • Update the SRS document to match desired and implemented functionality
  • Update the changelog
  • Update the version button in footer
  • Update package.json
  • Push to production
  • Create a new tag and a release
  • Update README.md

Use query strings / search params

An idea for further development: adding support for query strings or search params. The user could manipulate the url directly and get the results they want.

For example, navigating straight to 0b.is/100?from=8&to=16 would convert the number 100 from base 8 (octal) to base 16 (hexadecimal).

The url could also be something like this: 0b.is/convert?number=100&from=8&to=16.

Updating the url after each conversion would also allow users to easily share the results by just copying and sharing the url.

Refactor the FooterLinks

The way I coded this works but it's not optimal. The icons should be passed as props instead but I struggled to get the typing correct.

icon={
text === 'Source code'
? <GitHubIcon fontSize='small' />
: text === 'Contributing'
? <InfoIcon fontSize='small' />
: <ArticleIcon fontSize='small' />
}

Refactor the mode selection

Currently, setting input and output modes to the same type has been blocked by disabling the selection. This is fine but leads to a degraded user experience.

An example: the user loads the application at 0b.is. By default the modes are set to binary as input and decimal as output. What if the user wants to convert decimal to binary instead? The user opens the input mode select and notices that the decimal option is disabled. The user would have to change the output into something else first.

A possible solution would be to stop disabling options. Instead, if input is set to same as the output, the I/O could be swapped. So in the example case above, the user would simply choose decimal, input would be set to decimal and output would be swapped to binary. There could also be a separate button for swapping the systems in the UI itself.

Create a logo for the project

A logo is needed for the project. The logo would be used on the website, the repository and possibly as the favicon.

Add flags to languages

Adding a relevant flag next to each language would be a nice addition and improve the user experience.

Add content to info boxes

Currently has Lorem Ipsum placeholder texts. The info boxes should contain some information about specific numeral systems and their pratical use cases.

Prepare for version 1.1.1 release

  • Update the SRS document to match desired and implemented functionality
  • Update the changelog
  • Update the version button in footer
  • Update package.json
  • Push to production
  • Create a new tag and a release
  • Update README.md

Increase the test coverage

Test coverage is currently quite low. While all the core functionality is tested, most components are not.

Prevent two systems of the same type being used

Currently, the output system select component disables the option that is used as input. However, the user can change the input system to match the output system and by doing so the input and the output are the same. This is not desired functionality as there is no use for convering system x back to itself.

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.