A comprehensive platform connecting devotees with certified Pandits and authentic Puja materials. Book priests, purchase puja essentials, and get curated ritual bundles - all in one place!
- Pandit Booking System: Beautiful modal-based booking with form validation
- Shopping Cart: Full-featured cart with localStorage persistence, quantity management
- Puja Essentials Shop: 25+ authentic puja materials with ratings and discounts
- Ritual Bundles: Complete ceremony packages with discount badges
- Smooth Carousels: Manual slide navigation for all product sections
- Responsive Design: Works perfectly on mobile, tablet, and desktop
- Animated Stats: Counting animation showing 500+ Pandits, 10K+ Customers, 50+ Cities
- Beautiful Signup Page: Modern form with benefits sidebar
- Application Tracking: Success page with next steps
- Profile Management: Once approved, pandits appear on home page
- Secure Login: Session-based authentication
- Dashboard: Statistics overview with recent activity
- Pandit Management: Approve/reject pandit applications
- Product Management: Add/delete puja materials
- Booking Management: View all customer bookings
- Professional UI: Gradient design matching main site
- About Us: Company story, mission, vision, and values
- Contact Us: Contact form with multiple contact methods
- User Authentication: JWT-based login and registration
- Backend: Flask (Python)
- Database: PostgreSQL with SQLAlchemy ORM
- Authentication: Flask-JWT-Extended, Flask-Bcrypt
- Migrations: Alembic via Flask-Migrate
- Frontend: HTML, Tailwind CSS, JavaScript
- File Uploads: Werkzeug secure file handling
git clone <your-repo-url>
cd first-projectpython3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txtCreate a .env file in the root directory:
DATABASE_URL=postgresql://username:password@localhost:5432/pujapath
JWT_SECRET_KEY=your-super-secret-key-change-this
FLASK_DEBUG=Trueflask db upgradeStart the Flask app first:
python app.pyThen visit: http://localhost:5000/api/seed-data in your browser or use curl:
curl http://localhost:5000/api/seed-dataThis will populate the database with:
- 14 Sample Pandits (across 10+ cities)
- 25 Puja Materials (incense, diyas, kalash, etc.)
- 8 Customer Testimonials (5-star reviews)
- 4 Ritual Bundles (wedding, griha pravesh, etc.)
Visit this URL to create admin account:
http://localhost:5001/admin/init
This creates:
- Username:
admin - Password:
admin123 β οΈ Change this password immediately in production!
Open your browser and go to: http://localhost:5001
Go to: http://localhost:5001/admin/login
- Login with credentials from step 7
- Manage pandits, products, and bookings
first-project/
βββ app.py # Main Flask application
βββ database.py # Database configuration
βββ models/ # SQLAlchemy models
β βββ user.py
β βββ pandit.py
β βββ puja_materials.py
β βββ testimonial.py
β βββ bundle.py
βββ templates/ # HTML templates
β βββ home.html
β βββ pandit_signup.html
β βββ pandit_signup_success.html
βββ static/ # Static files (images, CSS, JS)
β βββ uploads/ # User uploaded files
β βββ pandit/ # Pandit profile images
βββ migrations/ # Alembic migrations
βββ requirements.txt # Python dependencies
GET /- Home page (shows only approved pandits)GET /about- About Us pageGET /contact- Contact Us pagePOST /contact- Submit contact formGET /pandit-signup- Pandit registration formPOST /pandit-signup- Submit pandit registrationPOST /api/register- User registrationPOST /api/login- User authenticationGET /api/seed-data- Seed sample data (development only)POST /api/book-pandit- Book a panditPOST /api/cart/add- Add item to cartPOST /api/checkout- Checkout cart
GET /api/pandit-ji- Fetch all panditsPOST /api/upload- Upload images
GET /admin/login- Admin login pagePOST /admin/login- Admin authenticationGET /admin/logout- Admin logoutGET /admin/dashboard- Admin dashboard with statsGET /admin/pandits- Manage all panditsPOST /admin/pandit/approve/<id>- Approve panditPOST /admin/pandit/reject/<id>- Delete panditGET /admin/products- Manage productsPOST /admin/product/add- Add new productPOST /admin/product/delete/<id>- Delete productGET /admin/bookings- View all bookingsGET /admin/init- Initialize admin user (run once)
The home page includes:
- Home - Hero section with call-to-action buttons
- Pandit Ji - Browse and book verified pandits
- Puja Essentials - Shop for puja materials
- Ritual Bundles - View discounted ceremony packages
- Join Team - Link for pandits to sign up
- username, password (hashed)
- For customer authentication
- name, experience, age, location, availability
- image_url, rating, languages
- email, phone, specialties, is_approved
- Approval workflow for quality control
- name, description, price, image_url
- Products available for purchase
- author, author_image, content, rating, location
- Customer reviews and feedback
- name, description, image_url
- original_price, discounted_price, includes
- Complete ceremony packages
- username, email, password_hash
- is_super_admin, created_at
- Secure admin authentication
- pandit_id, customer_name, phone, email
- puja_type, date, address, notes, status
- Booking management system
This is a learning project. Feel free to fork and experiment!
See LICENSE file for details.
Made with β€οΈ for preserving Vedic traditions