This project is a user-driven application where coffee shop patrons can log, view, and compare internet speeds at various coffee shops. The goal is to create a lighthearted yet functional platform that helps users avoid locations with frustratingly slow Wi-Fi while humorously highlighting the struggles of finding good internet in public spaces.
-
User Authentication:
- Allow users to sign up and log in to submit and view data.
-
Coffee Shop Database:
- Users can add coffee shop locations with details such as name, address, and average internet speed.
-
Speed Logging:
- Submit internet speed test results for specific coffee shops using metrics like download/upload speed and latency.
-
Leaderboards:
- Show rankings of coffee shops with the slowest internet speeds globally, locally, or per user.
-
Search and Filters:
- Search coffee shops by name or location and filter results based on Wi-Fi performance.
-
Fun Stats:
- Generate amusing insights like "This coffee shop has slower internet than 80% of others in the area!"
- React with Vite for building the UI.
- TailwindCSS for styling.
- Node.js with Express.js for server-side logic and APIs.
- MongoDB (via Mongoose) for database management.
- Speedtest API (or a similar tool) to capture real-time internet speed data.
- Postman for API testing.
- OAuth (optional) for user authentication.
- Docker (optional) for containerized deployment.
This project was chosen because it’s a humorous take on a common frustration—poor coffee shop internet speeds. The concept is engaging, unique, and allows for practical learning and implementation of essential full-stack development skills, including:
- API creation and deployment.
- Database schema design and integration with Mongoose.
- Frontend development with dynamic components for displaying user data.
- Secure user authentication and session management.