GithubHelp home page GithubHelp logo

jorgeamadosoria / currentcy Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 2.0 3.89 MB

Currency exchange aggregator for Uruguayan Peso against American Dollar (UYU - USD) and European Euro (EUR - UYU). Simple training project for Responsive web, javascript, cloud deployment and such.

Java 2.32% CSS 1.67% JavaScript 38.88% HTML 56.69% FreeMarker 0.44%

currentcy's Introduction

Currentcy Currentcy is an exchange rate aggregator that basically parses info from public sites belonging to official exchanges. A list of supported exchanges can be seen here listed alphabetically:

This project is just a test ground for technology I like to learn or keep current with, and it is not intended for profit or any other purpose. I'm scratching my own itch here, and if it helps someone else, well, that´s a very nice bonus :)

This is also a test for cloud deployment. I´m using Openshift (openshift.com) from Redhat, which is free for small projects like this as long as it gets used at least once a day. this means that some configuration is externalized in environment variables.

i'm using Spring Tool Suite (Eclipse with EGit). To set this variables on a working copy of these repository: Go to Run -> Run Configurations -> Environments

add the following variables with values that make sense to your setup:

  • MAIL_PASSWORD
  • MAIL_USERNAME
  • OPENSHIFT_MYSQL_DB_HOST
  • OPENSHIFT_MYSQL_DB_PASSWORD
  • OPENSHIFT_MYSQL_DB_PORT
  • OPENSHIFT_MYSQL_DB_USERNAME

Mail variables are needed for registering and suscribing to exchange updates. The sender must be a Gmail account (settings for GMail through SSL are hardwired, though changing those is pretty simple). All other variables are Openshift standard variables to connect to a MySQL instance.

Happy coding.

currentcy's People

Stargazers

 avatar

Watchers

 avatar  avatar

currentcy's Issues

Circular Logo

modify the logo to be circular to separate logo background from the page background.

Fix navbar

Fix menu bar to the top of the page at all times.

Add Freemarker support for Email generation

Need Freemarker to generate the template for register and update emails. Infrastructure is already setup on pom.xml and EmailBuilder class. Need to generate the templates and test the setup.

Add Swagger docs to the REST API

Add Swagger support for documentation on the REST API. The API is simple and doesnt need it, but this is important to familiarize with Swagger

add JS localStorage

use store.js to add localStorage for keeping the preferred currency (USD or EUR) or locale (US, CU, UY) selected for each user.

Share app on Facebook

Add a button to the app to allow users to share the app on their Facebook profiles.

Port the application to AngularJS

This is the most ambitious part of the project, only to be engaged when all feature development, testing and documentation is done.

Add Paypal Integration

Add Paypal button (linked to a valid Paypal account) to allow donations. This is more of a theoretical feature, but still, gonna learn how!

Feature: Enable some control on the ticker

Enable control for the ticker jquery control, so it moves automatically, but it also allows the user to select an specific exchange they know and that is going to take long to come up.

Add Euro exchange rate

Add Euro exchange for all possible exchange. Need to refactor the UI to include Euro exchanges along USD ones.
Need also to include the exchange updates for Euro on email and in the calculator table.

Circular logo

Circular logo for snapshots. Important to separate the background color from the page, as some logos as jpgs or similar that cannot have transparent filters.

Add Google Analytics

add google analytics to the system to know how many people and from where is the app used from.

Slide view and other UI enhancements

Show exchanges as slide show, continuously. Allow selection and highlight of one exchange. Show trend and calculator for the selected exchange only. Fix Navbar. Hide language flags into a menu or reduce icons size.

Add Junit coverage

add Junit, hamcrest and easymock for Spring MVC integration and unit testing.

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.