SpotHop-v2-Hapi Svelte Themes

Spothop V2 Hapi

Placemark focused web app refactored into Svelte, facilitating the creation, browsing and sharing of user-generated placemarks

SpotHop

SpotHop is a placemark-focused application, allowing creation and management of user-generated 'Spots'.
Users can sign up and log in, create and manage their own spots, and view those of other users.
Spots can include a name and description, a category, and lat/long coordinates.
Images can also be uploaded for spots, which are cloud-hosted (Cloudinary).

Analytics are generated for all saved spots, including a breakdown by spot category and user vs. global spots.
Searches can be performed to only display spots meeting specific criteria, including name, category, coordinates and user-generated.
User accounts can be deleted; the first user to be created is also designated as the admin, and can view, modify and delete all user accounts.


SpotHop is hosted by both Render:
https://spothop.onrender.com/
and Glitch:
https://spothop.glitch.me/

Spothop is also a REST API; users and spots can be created, found and deleted through HTTP requests.
The API is supported by Swagger 2.0 documentation, with descriptions of all API functions and secure testing facilitated.
Spothop is secured using cookie authentication (web app) and JSON Web Token JWT authentication (API).


Test-driven development was employed in building SpotHop, and a full suite of tests for both the web app and API are provided.

SpotHop's default persistence route is MongoDB, cloud-hosted (Cloud Atlas), JSON persistence can be employed by tweaking the src/server.js file from:

db.init("mongo");
to:
db.init();


The following environmental variables must be specified in order to reproduce this web app:
COOKIE_NAME (String)
COOKIE_PASSWORD (String)
db (String - Cloud Atlas MongoDB server connection string)
cloudinary_name (String - Cloudinary credentials)
cloudinary_key (String - Cloudinary credentials)
cloudinary_secret (String - Cloudinary credentials)


Top categories

svelte logo

Need a Svelte website built?

Hire a professional Svelte developer today.
Loading Svelte Themes