🔗 Live Application:
https://technical-event-erp-flask.onrender.com
A simple Flask-based event management ERP with user, vendor, and admin portals. Uses SQLite and SQLAlchemy for persistence. The frontend is styled with the CoreUI theme (Bootstrap-based) and provides a clean, responsive UI for all pages.
This project is a role-based Event Management ERP System developed using Flask.
It simulates an enterprise workflow involving Admin, Vendor, and User roles, covering the full lifecycle from master data management to order processing and status tracking.
The system follows ERP principles such as role isolation, controlled data maintenance, and transaction lifecycle management.
- Role-based login system (Admin, Vendor, User)
- Secure session handling
- Restricted route access
- Unauthorized access protection
- Manage Memberships (Add / Delete / Expiry tracking)
- Maintain Users (Add / Edit / Delete / Change Membership)
- Maintain Vendors (Add / Edit / Delete)
- Category-based vendor management
- Vendor dashboard
- Add and manage products
- View vendor-specific items only
- View assigned orders
- Update order status:
- Received
- Ready for Shipping
- Out for Delivery
- Browse vendors by category
- View products
- Add items to cart
- Quantity management
- Checkout system
- Order tracking
- Persistent cart storage
- Quantity controls
- Order creation
- Automatic cart clearing after checkout
- Payment method selection
The system follows a clear, role-driven ERP workflow:
- Admin creates vendors and users (master data management).
- Vendor adds products, which become available to users.
- User browses vendors by category, adds products to the cart, and checks out.
- After checkout, an Order record is created for processing.
- Vendor updates the order status step‑by‑step:
- Received → Ready for Shipping → Out for Delivery.
- User monitors and tracks the delivery progress from their dashboard.
This sequence ensures accountability, transparency, and a smooth order lifecycle.
- CoreUI dashboard theme
- Shared
base.htmllayout - Responsive navigation
- Styled system messages
- Consistent design across all modules
| Layer | Technology |
|---|---|
| Backend | Flask |
| Database | SQLite + SQLAlchemy |
| Frontend | CoreUI (Bootstrap-based) |
| Authentication | Flask Sessions |
| Template Engine | Jinja2 |
├── app.py # main Flask application
├── auth_utils.py # decorators for auth and roles
├── extensions.py # database initialization
├── models.py # SQLAlchemy models
├── requirements.txt # Python dependencies
├── templates/ # Jinja2 HTML templates
│ ├── base.html # shared layout with CoreUI
│ ├── home.html
│ ├── auth/...
│ ├── admin/...
│ ├── user/...
│ └── vendor/...
└── static/ # static assets (css, images, etc.)
- Python 3.8+ (tested on Windows)
pipfor installing dependencies
All templates extend base.html which pulls in CoreUI (v4) from CDN. Custom page-specific CSS/JS can be injected with block placeholders.
- Sample categories are seeded at application start if not already present.
- Error messages and special responses use
message.htmlwhich is also styled.
- Add more categories in
app.pyor manage via admin. - Replace SQLite with another database by changing
SQLALCHEMY_DATABASE_URI. - Enhance forms with validation or file uploads as needed.
The application is deployed on Render and accessible at:
👉 https://technical-event-erp-flask.onrender.com
Admin
- Email: admin@erp.com
- Password: admin123
Vendor
- Email: vendorwave@erp.com
- Password: vendor123
User
- Email: user@erp.com
- Password: user123
The following screenshots demonstrate the complete ERP workflow across Admin, Vendor, and User roles running on the live deployment.
git clone <repository-url>
cd event_erppython -m venv venvActivate:
Windows
venv\Scripts\activateMac/Linux
source venv/bin/activatepip install -r requirements.txtpython app.pyOpen browser:
http://127.0.0.1:5000
-
Admin
Email: admin@erp.com
Password: admin123 -
Vendor
Email: vendorwave@erp.com
Password: 123 -
User
Email: user@erp.com
Password: 123
- Admin creates vendor and user accounts.
- Vendor adds products.
- User browses vendors and places order.
- Vendor updates order status.
- User tracks delivery progress.
- Password hashing
- Membership expiry enforcement
- Product image uploads
- Audit logging
- Category management UI
Anuj Mundu
MCA Student | Full Stack Developer | ERP Workflow Implementation Project













