GadNEXUS 🧠📱
A full-stack gadget blog platform built with Flask, MongoDB, and Jinja — where tech enthusiasts can read and share posts about the latest phones, laptops, accessories, and more.
✨ Features
- 🔐 User Authentication (Register / Login / Reset Password)
- 📝 Create posts with Title, Description, and optional Image URL
- ✏️ Edit and update your own posts
- 🗑️ Delete posts with confirmation popup
- 📱 Mobile-friendly responsive design
- ☁️ MongoDB Atlas cloud database
- 🚀 Deployed on Vercel with GitHub auto-deployment
- 🚀 Admin LogIn is Implemented With Multi Factor Authentication
- 🚀 Admin Is verified with Email OTP
🛠 Tech Stack
- 🧠 Backend: Python + Flask
- 💾 Database: MongoDB Atlas
- 🎨 Frontend: HTML5, CSS3, Jinja2 templates
- ⚙️ Deployment: Vercel
- 🧩 Styling: Custom CSS + Bootstrap components
📁 Folder Structure
├── app.py # Main Flask app
├── templates/
│ ├── layout.html # Base layout
│ ├── index.html # Public blog home page
│ ├── dashboard.html # Logged-in user dashboard
│ ├── login.html # Login page
│ ├── register.html # Register page
│ ├── add.html # Create post form
│ ├── edit.html # Edit post form
├── vercel.json # Vercel deployment config
└── README.md
├── templates/
│ ├── layout.html # Base layout
│ ├── index.html # Public blog home page
│ ├── dashboard.html # Logged-in user dashboard
│ ├── login.html # Login page
│ ├── register.html # Register page
│ ├── add.html # Create post form
│ ├── edit.html # Edit post form
├── vercel.json # Vercel deployment config
└── README.md
⚙️ How It Works
- Users can register/login securely.
- Logged-in users can:
- 📝 Create new gadget blog posts
- ✏️ Edit existing posts
- 🗑️ Delete posts they created
- All posts are saved in MongoDB Atlas.
- The public homepage displays all user-contributed posts.
- Auto-deployed to Vercel on every GitHub push.
🔧 Local Setup Instructions
-
Clone the repo:
git clone https://github.com/yourusername/gadnexus.git cd gadnexus
-
Install Python dependencies:
pip install flask pymongo dnspython
-
Set up environment variables (or hardcode in
app.py):- MONGO_URI → your MongoDB Atlas connection string
- SECRET_KEY → any secret string for session management
-
Run the flask app
python app.py
Then visit: http://localhost:5000
☁️ Deployment (Vercel)
- Linked to GitHub repository
- Automatically deploys on every commit
- Add a
vercel.jsonfile to tell Vercel how to run Flask - No sleep time, fast, free-tier friendly
✅ Completed Functionality
- Register/Login system with sessions
- Create/Read/Update/Delete posts
- Cloud database using MongoDB Atlas
- Responsive blog-style UI
- Deploy to Vercel with
vercel.json - GitHub integration for auto-deploy