The OpenAlloc Project is a family of applications, re-usable libraries, and user interface components, written in Swift.
Swift Libraries
- SwiftCompactor - formatters for the concise display of Numbers, Currency, and Time Intervals
- SwiftModifiedDietz - a tool for calculating portfolio performance using the Modified Dietz method
- SwiftNiceScale - generate ‘nice’ numbers for label ticks over a range, such as for y-axis on a chart
- SwiftRegressor - a linear regression tool that’s flexible and easy to use
- SwiftSeriesResampler - transform a series of coordinate values into a new series with uniform intervals
- SwiftSimpleTree - a nested data structure that’s flexible and easy to use
User Interface Components, for the SwiftUI Framework
- SwiftDetailer - a multi-platform SwiftUI component for editing fielded data
- SwiftNumberPad - a multi-platform SwiftUI component for basic number input
- SwiftTabler - a multi-platform SwiftUI component for tabular data.
- SwiftTextFieldPreset - a multi-platform SwiftUI component for text input with presets support
XCode Setup
See the Workspace repository for a handy Xcode workspace that contains the library and user interface component repositories.
Applications
Open Trackers
Fitness, nutrition, and productivity apps for iPhone, iPad, and Apple Watch.
- Open Trackers - Open Trackers product website
- Open Trackers Project - Github site for the development project, including full source code
Open Portfolio
Investing apps for macOS.
- Open Portfolio - Open Portfolio product website
- Open Portfolio Project - Github site for the development project, including full source code
License
Copyright 2021-2023 OpenAlloc LLC
All application code is licensed under the Mozilla Public License 2, except where noted in individual modules.
Re-usable library code may be under the MPL-2.0 or the Apache License, Version 2.0, except where noted in individual modules.
Copyright is held by @reedes’s OpenAlloc LLC, except where noted in individual modules.
Contributing
Contributions are welcome. You are encouraged to submit pull requests to fix bugs, improve documentation, or offer new features.
The pull request need not be a production-ready feature or fix. It can be a draft of proposed changes, or simply a test to show that expected behavior is buggy. Discussion on the pull request can proceed from there.
Contributions should ultimately have adequate test coverage. See tests for current entities to see what coverage is expected.
Your contributions can be under the your name or organization, but must have a compatible license, preferably MPL-2.0 (for app code) or Apache-2.0 (for re-usable library code).
(This should probably be expanded to a proper policy.)