Cuplog is a social coffee journal web application where users can log and track their daily coffee experiences. After creating an account, users can record each drink with details such as the date, coffee name, type, shop, size, photo, flavor notes, and price and choose whether to share each entry publicly or keep it private. Users can also view, edit, and delete their own records. The home page features a chronological list of past records. When logging a drink, the app automatically fetches the current weather at the user's location, adding a personal atmospheric detail to each entry. On the community page, anyone including non-registered visitors can browse a public feed of shared records. Administrators can delete inappropriate comments.
- Demo Video: https://youtu.be/Pd6y13m8-ew
- Frontend: https://cuplog.vercel.app/
- API: https://cuplog.onrender.com
- Frontend: React, TypeScript, Tailwind CSS v4, Zustand
- Backend: Node.js, Express, Prisma, PostgreSQL
- External API: Open-Meteo (weather)
- Other: Cloudinary (image upload), JWT (auth)
- Browse a public feed of shared logs
- Search logs with coffee name, flavour, and shop name keywords
- Check details of any public logs
- Log coffee experiences with name, type, size, price, shop, flavor notes, and photo
- Automatic weather fetching based on your location when logging a drink
- Public or private visibility toggle per log entry
- Filter personal logs by year and month or keyword
- Edit and delete your own logs logs
- Role-based access: admin can delete all content
- Dark mode toggle that persists across sessions and respects system preference
- Responsive design for desktop, tablet, and mobile
cd client
npx vitest run
Reports are in /accessibility_reports for: Home, Community, Log Detail, Login, Register, Admin pages.