jusleg / simple-calculator

A fork of SimpleMobileTools/Simple-Calculator for SOEN 390

Home Page:https://github.com/SimpleMobileTools/Simple-Calculator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple Calculator

Logo

Android app: Build Status codebeat badge

seshat-web server: Build Status codebeat badge Maintainability

A calculator with the basic functions, money operations, unit conversions and handwritten equation analysis. It is fully opensource and provides customizable colors. The application is also built for Android Wear. This application is based on a fork of Simple Calculator by Simple Tools and was built for our SOEN 390 class (Software Engineering Team Design Project).

Check out our project wiki!

Screenshots

Main Calculator Money view Draw Equations

Android Wear

Android Wear

Seshat-web

In order to analyse the handwritten equation, a seshat server was created. The application sends the drawing as a sequence of strokes in a sgcink format. The server returns the result in LaTeX syntax. This is used to query wolfram alpha to show the analysis of the function. Seshat-web is a sinatra server that interfaces with the C++ code of the seshat program.

Contributing

To submit new changes to the codebase, a pull request must be opened. The pull request must have the following:

  1. Name that describes the modification and includes reference(s) to issue(s)
  2. Meaningful commit message that points to the issue number
  3. Follow the pull request template
  4. At least 2 independent reviews that follow the pull request review template
  5. Code that follows the conventions outlined by the Kotlin Foundation

Submitting Issues

User facing features are represented as user stories which are further broken down into tasks. Very large user stories may be broken down into multiple user stories and put into an epic. All issues submitted must follow one of the following templates.

Testing locally

1. Linting

To test if it passes the linting checks run ./gradlew ktlint. Use ./gradlew ktlintFormat to automatically format the code to follow the conventions

2. Unit tests

./gradlew test

3. Instrumentation tests

Start an Android emulator API 22. When the emulator is booted, run ./gradlew clean connectedAndroidTest

N.B. The static analysis done by Codebeat cannot be run locally. It is triggered by new branches and PR.

License

Copyright 2017 SimpleMobileTools

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

A fork of SimpleMobileTools/Simple-Calculator for SOEN 390

https://github.com/SimpleMobileTools/Simple-Calculator

License:Apache License 2.0


Languages

Language:Kotlin 68.4%Language:Java 31.5%Language:HTML 0.1%