DEV Community

Sanjeev Sharma
Sanjeev Sharma

Posted on

PaperDrop: Drop Anonymous Messages Wherever You Go

Overview of My Submission

I built PaperDrop. An app that allows you to drop anonymous messages based on your location.

I got the idea about the app when I was trying to build my other side project - which lists all the crime events near to you on a map. Also, I've been planning to learn Redis for a long time. This hackathon seemed like a perfect opportunity to do it.

Technologies

Frontend: React
Backend: NodeJS(Express)
Database: MongoDB
Caching and Geo-spatial queries: Redis
Deployment: Linode

Other tools:

  • ChakraUI for styling
  • Mapbox for map
  • Certbot for SSL
  • GoDaddy for domain

🌏Live project link: https://devdevgo.site

⚠️ Note: Please make sure you read the instructions before using the app. Use the app on phone for best experience.

Submission Category:

Wacky Wildcards

Language Used

JS/TS/Node.js

Link to Code

GitHub logo thesanjeevsharma / paper-drop

Drop anonymous messages wherever you go!

PaperDrop

An app that allows you to drop anonymous messages based on your location.

Instructions:

  • Make sure your location services are turned on when using the app.
  • Users can read messages dropped by other users, given they are within the range of the message(50m).
  • Users can see messages up to 2km radius on the map.
  • A drop expires when 10 people have read it.
  • At any given point a user can only have 10 active drops. To create new drops they either delete existing drops or wait for them to expire.
  • Happy hunting! :)

🌏 Live link: https://devdevgo.site ⚠️ Use the app on phone for best experience!

Screenshots

Login Page Playground Page Architecture

How it works

Since the main focus of the app are message drops(or just drops), I'll mainly focus on that.

How the data is stored:

A drop document in MongoDB looks like this:

{
   _id: ObjectId,
   user: ObjectId,
…
Enter fullscreen mode Exit fullscreen mode

Additional Resources / Info

Screenshots of the app

Login Page
Playground Page

Collaborators

😎 This is a solo project, developed by Sanjeev Sharma.


Top comments (0)