Speed Log : the app to send parcel within persons.
Tags: appwritehack, flutter
Published: 2022-05-12 09:21:06

[Instructions]: # (To submit to the Appwrite Hackathon on DEV, please fill out all sections.)


### Overview of My Submission
[Note]: # (Share what you built, how you built it, and the inspiration behind the idea! Please make sure the project links to the appropriate GitHub repository, and includes the [Apache-2 permissive license](https://www.apache.org/licenses/LICENSE-2.0)  and README.)
**`Speed Log`(Speedest Logistics)** is a mobile application that allows user to send parcels within a City in a few click only. Principal features are:

- User registration and authentification

- Sending parcel

- Make an offer to carry a parcel

- Track a parcel by Scanning the QrCode or by Entering the code manually.

The components of Appwrite We used to develop this application are:

- **AppWrite Authentification**: User can create an account and register with email in our application.


 ![Login Screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jll9cvb96jkk9ksqsnk6.png) 
![Register screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q1yaxob6xekyzaboncc4.png) 

- **Appwrite Database**: Once the user is registered, We need more informations about the user, so we used this to save users informations, parcels, cities and quarters.

- **Appwrite Functions**: We created a custom function to send a push notification to users when a new parcel is created, when a new offer for carrying parcel is made and when an offer has been accepted by the sender.

![New parcel notification](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o543rw544848cm5lnu7a.png)
![Push ahead notification](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a2ycqy3ldascxj7cgczz.png)
 

- **Appwrite Realtime**: Once the user starts delivering a parcel, a background task launch to update the deliverer location continuously so the sender can track the realtime location using the map.

![Track parcel in realtime](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u0x211idv7l2vnph4ppc.png)

  


 


### Submission Category: 
**Mobile Moguls**

[Note]: # (Web2 Wizards, Web3 Wunderkinds, Mobile Moguls, Wacky Wildcards)


### Link to Code
https://github.com/loicgeek/speed_log

[Note]: # (Our markdown editor supports pretty embeds. Try this syntax: `{% embed link_to_your_repo %}` to share a GitHub repository)


### Additional Resources / Info

We used firebase to send and receive push notifications in our application, ressources used are: 

- Firebase: https://github.com/firebase/flutterfire
- NodeJs firebase admin: https://www.npmjs.com/package/firebase-admin

**Custom domain:**
We used our contabo VPS to install appwrite on server.

**Additional screenshots**

![Home page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ngnnkam4z83c98bl7hny.png)

![User profile page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jfnmnbzpmf4ecxbkt9v5.png)

![Waiting parcels](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yxpl0t4v5e1n8ai6ryr1.png)

![Scan parcel Qrcode to complete the delivery](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v7yvs88bc9husli3f6rw.png)

![Parcel QRCode](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3x8ddpsm4fxx7f0vha3e.png)

![Parcel details](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m6emj9q8tvdjgc7nu5bx.png)

![Offers list](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q0ltwv8crlr3pdi262f8.png)