Git Product home page Git Product logo

code-fund-me's Introduction

CodeFundMe

A crowd-funding platform built using Angular 2 and Firebase.

By Ginger Lee Kretschmer, Sailor Winkelman, and Sam Kissee

Installation

  1. _$ git clone [] _

  2. $ cd code-fund-me

  3. $ npm install -g angular-cli

  4. Add Firebase API Key (instructions in next section)

  5. $ ng serve --open

Firebase API key

This app requires the use a Firebase api key to access Firebase database features. You can acquire one of your own to use when running this project by visiting the Firebase Website and signing up for an account before taking the following steps:

  • Add a new project (you'll have to name it).

  • Once your new project is created, click the gear icon next to Project Overview to access your project settings.

  • Click the button that says "Add Firebase to your web app" and copy the information from the modal window that pops up.

  • Create a file called api-key.ts in the src/app/ directory and add the following code with your API key information in place of the 'xxx's:

export var masterFirebaseConfig = { apiKey: "xxxx", authDomain: "xxxx.firebaseapp.com", databaseUrl: "https://xxx.firebaseio.com", storageBucket: "xxxx.appspot.com", messageingSenderId: "xxxx" };

  • Import the projects.json file from src/assets into the projects Data Page on Firebase to use our pre-made project data.

User Story

Current Functionality

User Action Application Notes
See a list of all projects that are seeking funding. Pulls database list using service
Click a project to see more details Dynamic route by id
Show project details on funding page Get details from database by id using service
Filter projects by funding goal and category Pipe by goal and category
Click button to go to project funding form Dynamic route
Submit amount to fund to decrease funding goal Use service on fund form to subscribe to database entry by id on initialization. Collect payment amount on click and pass into onAmount method, where goal property is defined to the goal minus the payment amount.
Create new project to fund Model input to Project object and send to DB using service
Update project details on Admin Route Change inputs in view using NgModel. Pass down selected project data from directory, receiving using @Input. Send changed data to database entry (by id), using update()
Add project on Admin Route Model input values by # to Project object. Push new project object into database list observable to add to database. Static route back to directory page to show new project in view.
Delete project on Admin Route Method is in edit-project component. Pass down selected project data from directory, receiving using @Input. Send selected project to delete to database list (by id), using delete().

Future Functionality

User Action Application Notes
View and create different types of things to fund (charities, projects, etc.) Create and integrate Charity and other classes to model data.
View different types of things (charities, projects, etc.) on different pages Dynamically route to a charities page, which uses a pipe to show only database objects with Charity type.

Technologies Used

  • JavaScript (ES6)
  • Angular 2
  • Node
  • HTML
  • SASS
  • Firebase
  • Angular-CLI

code-fund-me's People

Contributors

angular-cli avatar

Stargazers

 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.