Giter Club home page Giter Club logo

chariti's Introduction

About ChariTi

ChariTi is a framework built to allow charities to quickly and easily create mobile apps.

Information about ChariTi is available on the ChariTi Website.

Getting Started

To download your own copy of ChariTi, run the following command in terminal:

git clone --recursive [email protected]:mcongrove/ChariTi.git

Please include the --recursive option to ensure you download all of the submodules!

Code Contribution Practices

  • Please do not use the master branch; instead, use the next release branch
  • Contributions will only be accepted as pull requests
  • If you plan on taking on an Issue, leave a comment so no one else duplicates your work
  • Be sure to pull the latest code before submitting a pull request; conflicting merges may be rejected
  • Poorly written or inefficient contributions will be rejected; it's not personal, we still love you
  • If you follow the coding standards established in our existing code, we'll love you even more
    • We've included JS Beautifier in this project; it automatically runs each time you compile to keep code uniform and beautiful
    • Document your code! Other people need to know what's in your head when you write something

Code Documentation

ChariTi uses JSDuck for documentation, which automatically runs on each compile, so please install JSDuck on your machine. Generated documentation is located in the /docs/documentation/ directory. Simply open the index.html page and enjoy.

Where do I start?

You can either visit the Issues page and pick an un-assigned issue from an upcoming branch, or you can submit a new issue with any features you'd like to see added. We're certainly open to ideas from the community!

If you choose to create your own issue with a new feature, please be sure it isn't already listed. Also, please do not add any tags (priority or issue type). We'll review the issue and tag it appropriately; it's sort of our way of signing off on your idea.

Can I be a contributor?

After you've submitted a couple of pull requests you can ask to be added as a contributor. We'd like to make sure that contributors are following the guidelines first.

What if I want to help with the ChariTi website?

We have a private repository for the ChariTi website. Contact us with more information on how you'd like to help and we can discuss this option.

What is this "Peek" branch?

The "Peek" branch is ChariTi PEEK, an application which lets you test out your applications quickly and easily with only a JSON configuration file.

You can download PEEK for iOS or Android.

chariti's People

Contributors

fokkezb avatar h3r2on avatar joshjensen avatar mcongrove avatar rogerwhite avatar willdent 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chariti's Issues

Have old data display while new data is fetched

Currently, if data cache is stale, we simply put up a loading screen while new data is fetched.

We need to instead show the cached data, even if it is old, and then load in the new content upon receipt.

Add theme support

Alloy now supports themes, and so should we.

We should also create some various default themes from which a charity can choose from.

String localization

Figure out a way to support localized strings in the configuration file... also, perhaps even allow specific component parameters dependent upon locale (e.g. one RSS feed for English, another for Japanese).

Add support for more tab menu items

Add a "..." (more) tab if there are more than 5 tabs in the configuration file; on clicking this tab, the additional tabs will slide up from behind it along the right-bottom edge of the app.

Turn off rotation

The math for some of the components is way too hard if we allow rotation of the device. Lock the device to portrait.

Add iPad split-window support

Update the architecture to support "multi-window" views (they're not really windows, rather views, but you get the idea).

This should essentially let us put one Alloy controller on the left side (e.g. news item list) and another on the right (e.g. news article).

TabBar calculation needs adjustment

The TabBar tabs need a calculation adjustment, as the last tab doesn't display on Tablets. Perhaps have a set width for the Tabs, and center the TabBar?

Pull images from RSS feeds

This may not be possible as we have to strip the text out for a UILabel, and would need to grab any images for UIImageViews. How would we determine which image(s) is appropriate?

Perhaps we only support RSS media items?

Create a test application

User downloads test app from App Store, enters URL for their app.json file, verifies data is correct.

Open specific component on push notification receipt

Allow app owner to send push notification with "controller" param in the payload; open this controller upon receipt. This allows them to push out a notification such as "Check out our new photos!" and have the Flickr component open when the app is pulled up.

Should we use controller type (e.g. "flickr") or tab index for specifying which tab to open?

Fix width of Flickr photo album view

Currently, the math for laying out the thumbnails is hardcoded for an iPhone. Convert it to dynamic math so we can support all screen resolutions.

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.