Giter Site home page Giter Site logo

memoize's Introduction

MEMOIZE Build Status

Premise:

Memoize is a Android application built for event notification and discovery. It contains extensive support for location-based notifications, as well as support for time-based notifications in an intuitive and secure setting. Memoize is built on a modern stack of native Android, Django, and PostgreSQL.

To install and run the back-end locally:

The server is hosted at https://memoize.herokuapp.com but if you would like to setup the environment locally follow these steps.

  • Navigate to the Django-REST folder
  • Create and activate virtual environment.
  • brew install postgresql
  • pip install -r "requirements.txt"
  • Install postgres.app (for mac), available at http://postgresapp.com/; a blue elephant should show up on the top of your toolbar.
  • Setup postgresql. Create database with name "memoize_db". Set superuser as "postgres" and password as "password".
    • CREATE DATABASE memoize_db;
    • GRANT ALL PRIVILEGES ON DATABASE "memoize_db" to postgres;
  • Perform initial migrations.
    • python manage.py migrate
  • Run the server.
    • python manage.py runserver

To Run:

  • Run the server (as shown in the installation instructions using python manage.py runserver). If you are using mac, make sure you have executed postgres.app before running the server.

  • Run the Android application by opening the Memoize file in Android Studio and pressing the play button (this performs an automated build, executing the gradle build program and running the application on the generic android adb emulator). It should be using the Heroku url. But if you would like to connect to a local server, then if you are using the android emulator change the string in baseURL to "http://10.0.2.2:". If you are using genymotion, use "http://10.0.3.2:". Be sure to also specify the appropriate port number if connecting locally.

  • NOTE: if one is using genymotion or another non-native-to-android-studio virtual machine and connecting to a local server, they MUST reference a different address in the baseURL. This was explained further above.

Components:

  • Frontend:
    • Java
    • Android Studio
    • Various libraries
      • Fast-Android-Networking
      • Google Maps
  • Backend:
    • Python
    • Django 1.10
    • Django REST Framework
    • PostgreSQL

Built By:

Tony Jiang ([email protected])
Mariya Kazachkova ([email protected])
Sarah Sukardi ([email protected])

memoize's People

Contributors

mkazachkova avatar somewacko avatar tjiang11 avatar

Watchers

 avatar

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.