MapMates is a social scratch map application where users can log their visited countries, add friends, and view their friend's scratch maps.
- Interactive scratch map: Mark countries as visited with a single click.
- Friends functionality: Add friends, view their profiles, and their scratch maps.
- Google Login: Sign in with your Google account.
Frontend:
- Next.js 15 (App Router)
- React Simple Maps for the map visualization
- Tailwind CSS for styling
Backend:
- MongoDB for database
- Prisma ORM for interacting with the database
- A combination of Next.js route handlers, and server actions.
Authentication:
- Google OAuth using NextAuth.js
External APIs:
- REST Countries for country metadata and flags. We use this to prebuild a static list of countries, their flags, and their IDs.