Confess your secrets in this website!
Add env file with following variables:
GOOGLE_CLIENT_ID GOOGLE_CLIENT_SECRET MONGO_URI SESSION_SECRET SERVER_URL PORT
Add the first two after creating oauth client in Google Cloud Console.
4 easter eggs present in the website!!
ANONYMOUS CONFESSION WALL (With Reactions + Secret Codes + Google OAuth 2.0) OBJECTIVE Build a simple MERN stack project where users can log in using Google OAuth 2.0, post anonymous confessions, react to them, and use a secret code to edit or delete their confession. TECHNOLOGY STACK • MongoDB (Database) • Express.js (Backend Framework) • Node.js (Server Runtime) • Frontend: HTML + CSS + JavaScript (React Optional) • Authentication: Google OAuth 2.0 FUNCTIONAL REQUIREMENTS • User must login using Google OAuth 2.0 before posting. • User can submit an anonymous confession. • User must enter a secret code while submitting. • All confessions should be displayed on the home page. • Each confession should have reaction buttons (Like, Love, Laugh). • User can edit confession only by entering correct secret code. • User can delete confession only by entering correct secret code. BACKEND REQUIREMENTS • Create REST APIs using Express. • Use MongoDB with Mongoose. • Implement Google OAuth 2.0 using Passport or similar library. • API Routes Required: • POST /confessions (Create)• GET /confessions (Read All) • PUT /confessions/:id (Update with secret code) • DELETE /confessions/:id (Delete with secret code) • POST /confessions/:id/react (Add reaction) DATABASE STRUCTURE • text (String) • secretCode (String) • reactions (Object: like, love, laugh counts) • createdAt (Date) • userId (Google account ID) SECRET CODE RULES • Minimum 4 characters. • Must be verified before update or delete. • If wrong code is entered, show error message. UI REQUIREMENTS • Simple, bold, clean layout. • Confession card design. • Reaction buttons visible on each card. • Prompt box for secret code during edit/delete. • Google Login button on homepage.