Take Spotted everywhere you go - whether you're traveling or just hanging around on campus. You'll be able to leave short notes so that anyone who visits the same spot can read them.
Were you the first person to climb Mount Everest? How will anyone believe you if you don't leave a note there for the next person!? Or maybe you went to an absolutely terrible food truck... leave a note behind to save anyone else who stumbles across it!
Graffiti-up the world with your anonymous notes or sign in to react to other notes. The ones with the best reactions stick around for others to see, while the rest gradually vanish.
- User: a generic role for any agent able to access the site.
- Registered user: a user with a registered account.
- Non-registered user: a user that has not signed into a registered account.
- As a non-registered user, I can register for a new account with the site using my Google account.
- As a registered user, I can log into the site.
- As a user, I can write a note anonymously.
- As a registered user, I can write a note and claim authorship.
- As a user, I can read notes that were written near my current location.
- As a registered user, I can react to notes.
- (2 points) Use a user-interface framework. I will use Bootstrap as the UI framework for the project. I will customize the color scheme.
- (2 points) Use a CSS preprocessor. I will use Sass to compile SCSS to CSS.
- (3 points) Server-side JavaScript library: integrate user authentication. I will use Passport for user authentication. Registered users should be able to sign in with Google.
- (3 points) Configuration management. I will use nconf to manage secrets and the database connection string.
- Geolocation API - Web APIs | MDN - post.mjs
- Bootstrap documentation - layout.hbs
- Haversine formula
- FileReader API - Web APIs | MDN - post.mjs
- Passport.js Documentation - app.mjs
- Moment.js Documentation - post.js
This repository is licensed under the MIT license.
The logo and default icons for this project were designed by AoMam on Flaticon. Layouts and styles are provided by Bootstrap. This repository redistributes Moment.js by Tim Wood, Iskren Chernev, and the Moment.js contributors. Moment.js is licensed under the MIT license.