Coder Social home page Coder Social logo

recycle4me's People

Contributors

angular-cli avatar kukkaherra avatar oskjah-hub avatar sakkee avatar

Watchers

 avatar  avatar  avatar

recycle4me's Issues

Authentication

Authentication is based on Firebase, using https://github.com/angular/angularfire2 library (same as database).

  • Registration only with Google or Facebook account

  • Registration and logging in happens on the front page view

  • Logout button in the header, along with "Logged in as _________".

  • Only logged in users are authorized to access the pick-up request, redirect to home page

Request pick-up view

Two elements side by side:

  • A map where you can select your pick-up address by clicking on map(+ ability to type in an address)
  • Request form:
    • Address
    • Description of items that need pickup
    • Estimated weight / volume
    • Available time of day for pick-up

Routing

Create routing for all the views.

Test that all the generated components work.

Application Scaffold

Create the template / framework / scaffolding where the rest of the views (content) is placed in.
This includes any possible header, footer, navigation, etc.

  • Header:

    • (Logo, Title) < left aligned; Logged in as ___ [Logout] > right aligned.
  • Footer:

    • Name of app, copyright, creators / credit, dependencies used, some links, etc, very small font.

Layout and styles

The project will use Bootstrap for the layout only

Angular material components:
https://material.angular.io/components/categories

Generally following the material theme guidelines:
https://material.io/guidelines/

More information about material theme and useful resources:
https://material.io
https://material.io/icons/
https://material.io/color/#!/?view.left=0&view.right=0

Since we have so little time, we will not prototype anything first, instead the the design of specific views if left mostly to the developer.

The actual css is preprocessed with sass, more specifically scss
http://sass-lang.com/guide

Recycle4Me Epic

Recycle4Me is a recycling service, which lets users request a recycling pick up to their home. The service looks for certain number of requests within an area, and then schedules a pick-up time and plans a route. The users are notified of an incoming pick-up, and asked if they are available for the pick up, or can leave their recyclables outside.

Application overview:
The angular application is composed of components with html templates, and typescipt controller, as well as services which can be injected for specific components.

image

Our application has three components besides the main app component

  • Front page
  • Information
  • Request pick-up

Two services:

  • Google maps
  • Authentication

And a realtime database at the backend.

Project planning #1

Plan and create specs for all the main tasks for the project implementation

Information view

  • Static information about how to recycle
  • Categories of recyclables (paper, waste, cardboard, clothes, glass, whatever)
  • A Google maps view based on users location (geoloc) that shows all nearby recycling centers

Weather info

This issue will be implemented only if Firebase + Auth + Google Maps don't get counted for 3 API's.

  • Fetch weather information from an API, for a specified pick up location (whichd date/time?)
  • Notify user if it will be raining, when requesting pick up (or when scheduling delivery)?

Pick-up logic

What gets done with all the requests stored in the database.

  • Admin view where all of the requests get stored in a database.
  • Automated pick-up plan after x amount of requests within certain distance of each other?
    • Notification to users?
    • Archiving old requests, deleting?
  • Actual path planning or just going from nearest to nearest?
  • How is the area where pick-ups are considered decided?

Google Maps

Using https://angular-maps.com

  • We will have two Google maps views, one for choosing your location for a pick-up, and second for showing all recycling centers near you (on the information view).

Front page view

The first view shown to both logged in users and guests.

  • Generic information about the service
  • Login / Register forms for non logged users
  • Maybe user information for logged in users?

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.