GithubHelp home page GithubHelp logo

nicomazz / localjobs Goto Github PK

View Code? Open in Web Editor NEW
11.0 4.0 2.0 839 KB

Browse jobs and proposals close to you - Android project for "Embedded Systems" course @ unipd - 2019

License: GNU General Public License v3.0

Kotlin 99.01% JavaScript 0.99%
android kotlin firebase mapbox cloud-functions cloud-messaging real-time-database firebase-authentication unipd-dei

localjobs's Introduction

LocalJobs

Build Status Contributors Forks Stargazers Issues License


Logo

LocalJobs

Browse jobs and proposals close to you
Report Bug · Request Feature

Table of contents

About The Project

LocalJobs is an Android application developed as project for the Embedded System course at the University of Padua during 2019. It is far from being a final product, but showcase several interesting and recent android aspects, such as:

If you are following this couse, and need to create a new project, consider to use the followings:

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

You should have a working android studio setup.

Installation

  1. Clone the repo
git clone https://github.com/nicomazz/LocalJobs.git
cd LocalJobs
  1. Setup Firebase environment. To do that, create a new app in the Firebase console and add the generated google-services.json to /app

  2. Open the project in Android Studio, and build!

Usage

  • Accept permission requests:

  • Browse jobs and proposals close to you:

  • Send your interest to any job or proposal! If the recipient accepts your request you will be able to contact him:

  • Filter jobs and proposals according with your criterias:

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNUv3 License. See LICENSE for more information.

Contact

Acknowledgements

  • @frankplus
  • @lucamoroz
  • @nicomazz

localjobs's People

Contributors

frankplus avatar lucamoroz avatar nicomazz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

localjobs's Issues

Schermata main

  • bottom-nav view con domanda (jobs), aggiunta (+) e offerta (proposals)
  • icono profilo nell'action bar a dx

vedi navigazione app youtube

Unificazione Jobs e proposal

Unica interfaccia. Abbiamo deciso che non ci sono differenze reali
Differenze:

  • colore bordino a sinistra della cella (per uno rosso e per l'altro verde)
  • In uno "costo" e nell'altro "potenziale guadagno"
  • Nella schermata di filtro, si deve poter filtrare
  • Se costo e' negativo (nell'oggetto) vuol dire che dobbiamo pagare, se e' positivo, e' un guadagno.

Interfaccia job

a gente si puo' proporre ad un job
quindi chi ha creato il job (e solo lui), vuole vedere la lista di altre persone che si sono proposte/che hanno premuto contattami.
Il tizio che ha pubblicato il job riceve una notifica in tempo reale (FCM)

Creare map view

mapview che mostra i job/proposals attraverso dei pin.
Quando si preme un pin, dovra' sotto apparire la view associata al job/proposal

Iniziare a creare varie varianti

Iniziali:

  • Ripetizioni
  • Pulizie
  • Aziende (?) (todo: approfondire)
    • Possibile idea: pagare per apparire

Per ogni tipo, la grafica dev'essere leggermente diversa

Fix crash quando si preme su una notifica ricevuta

Per ora basta premere contatta su un nostro job per far apparire la notifica.
PEr farla apparire un'altra volta bisogna creare un nuovo job.
Quando si preme l'app deve navigare al job giusto senza crashare

Aggiungere una chat con firebase

Molto basilare.
Dal dettaglio di un job, si dev'essere in grado di far partire una chat con il proprietario.

Saranno poi da integrare le notifiche

Location picker enhancements

Fare in modo che si veda anche il range picker e la sovraimpressione del raggio.
il raggio può essere aggiornato in uno dei listener di cambio posizione.
È preferibilmente da fare in una sottoclasse

Fix search bar

2 opzioni:

  • Rimuoverla
  • fare contains su titolo+descrizione

Aggiungere recensioni

Ogni persona, dev'essere in grado di aggiungere una (sola) recensione composta da pollice su/giu + testo (max 160). In questa fase dev'essere possible aggiungere recensioni ad ogni job

Creazione oggetti

Deve essere possibile creare un job/proposal con tutti i suoi campi, oppure aggiornarne uno già esistente
(schermata aperta dal + nella home)

Data objects

sotto /models/ creare una classe (un data object) per:

  • user (forse non serve per via di firebase)
  • domanda/offerta (questi non sono i nomi giusti)

per gli attributi di ciascun oggetto: https://hackmd.io/s/S1JmXUfcV

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.