GithubHelp home page GithubHelp logo

bandout's Introduction

BandOut

A better way to tip musicians

Getting Started

$ git clone https://github.com/JKKRS/BandOut.git
$ cd BandOut
$ cd client && npm install
$ ionic state restore

Now visit localhost:5000

Running the Tests

There is a basic test framework in your test/ folder. To run the tests, simply run npm test.

bandout's People

Contributors

jehicks2 avatar ksaldana1 avatar lee25home avatar robdsoule avatar sschwa12 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

bandout's Issues

Implement browserify

As a dev, I'd like to use browserify so I can use require statements to declare dependencies rather than having to order them on index.html

DONE:
When browserify is working.

Build start page and login modal

As a user, I'd like an awesome start page that displays when I open the app (and am not logged in).

DONE: The start page has a FB login button and app name. Clicking login button opens a modal.

Separate Ionic app and API

We need the ionic app and API to be totally separated into different repos

current repo holds ionic code, new repo gets API code

Improve installation workflow

Currently you need to run two different npm install scripts, a bower install, and ionic serve. Would like one script to do all these things

Google Maps Events View Page

As a user, I'd like to be able to see the venue location with a google maps view.

DONE
when map shows with correct venue information

Create business splash page

We will need a splash page that gets served from the api.

Include links to app / play markets, with info about the product.

Add Search to Artists Page

As a user, I would like to be able to search for specific artists from the artists page

DONE
When search by band name functionality exists on artist page

Splash Screen

As a user I do not want to see an empty page as the application is loading.

Done: Splash screen will show while page is loading- if its done loading it will hide itself

Setup mongo config

Set up mongo config

DONE:
the config file lives at /server/database/config.js.

Example:

//this code expects Mongo to be installed
//and a db called 'pairLearning' to existvar mongoose = require('mongoose');var mongodb
//Once we deploy this will become relevantvar config = {
  mongoUrl: process.env.MONGOLAB_URI || 'mongodb://localhost/pairLearning'
  //this url may or may not be incorrect
};mongoose.connect(config.mongoUrl);mongoose.connection.on('error', function(err){
    console.log('Mango problem', err)
})module.exports = mongoose;

PayPal Integration

As a user I want a way to pay the artist

Done: Users click on Paypal - takes them to PayPal

Build DB schema

As a developer, I'll need a DB schema so i can store things in the DB.

DONE:
The DB has this schema:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;var userSchema = new Schema({
  fbid: String,
  name: String,
  image: String,
  email: String,
  twitter: String,
  artist: Boolean,
  artist_info: [{
    paypal_link: String,
    upcoming_events: [{
      id: Number,
      title: String,
      datetime: Date,
      description: String,
      venue: [{
        name: String,
        city: String,
        country: String,
        lat: Number,
        long: Number
      }]
    }]
  }]
});// may be wrong
// check make sure nested objects are done this way// GET  /users/all     -> returns all users in array
// GET  /users/artists -> returns all users with .artist === true
// GET  /users/:id     -> returns single user where :id === _id
// POST /users         -> expects an {} to be sent with attributes in schema

Make artist profile page editable

As an artist, I'd like to be able to edit my profile page because duh.

DONE:
When all fields other than image, name, email are editable.

Create Single Artist Profile View

As a fan I'd like to be able to view a single Artists profile page from the list view.

DONE:
Clicking an Artist in list view displays Artists public profile.

Build "edit" profile page

As an artist, I'd like to have a profile page where i can include band information.

DONE:
When the profile page has these fields:
Name, Email, Website, Twitter, Add Shows button (non-functional).

Should also have toggle button labeled 'artist'

Change to tab layout

Currently the project is using a hamburger / sidenav layout, we need it to use a tabbed layout.

DONE:
There's a tabbed menu on the bottom of the screen which has 3 tabs : profile / artists / PLACEHOLDER

Add Events Endpoint

As a user, I would like to be able to see all events

DONE:
When endpoint to retrieve all events is functional

PayPal Back Button

As a user I want to go back to the app after the link

Done: Provide back button after launching link

Build API

As an app developer, I would like a node/express/mongo api that will return data to be used in our front end.

DONE:
We have these API endpoints:

GET:
"/users/all" (returns all users)
"/users/artists" (all users where artist == true)
"/users/:id" (returns single user where id == id)

POST:
"/users" (adds user to db and also handles artist info)

The server has tests that pass

Style Single Artist Page

Style Single artist page viewed from artist list view, to have functional appearance

DONE:
Single artist view has image, nice formatted profile info and Tip button that uses paypal link provided in profile (doesn't have to function yet)

Make server tests pass

The server tests are failing because I updated the mongo schema to include artist website

Create Prod / Dev DB

Setup a production db via Rob's compose.io

Also set up code to handle dev / prod environments automatically

Artist list page

As a user, I'd like a searchable list of artists so that I can easily find and donate.

DONE:
There is a searchable artist list page that shows all artists. Each artist item should open a link to that artist's profile page. Each item should have a small amount of info about the artist (name, thumb, etc)

Add Pull to Refresh to Artist Page

As a user, I'd like to be able to refresh the artist page to populate new artists

DONE
When pull to refresh triggers API call to api/artists

Modularize server routes

As a dev, I'd like a friendlier directory structure for the server so that it's more maintainable.

DONE:
All routes have their own file (not in the index file)

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.