How samirshaikh2425/my-portfolio-project works
This Flask portfolio serves a public page, accepts and stores contact submissions, and provides an authenticated admin workflow for reviewing and clearing sessions. The sampled app.py shows the route logic, validation, database queries, and template rendering. The README describes MySQL and frontend styling; template and stylesheet contents were not sampled, so their internal behavior and asset wiring are not inferred.
Main entry points: app.py Admin login · index.html Portfolio page · style.css Page styling · admin_login.html Admin templates
Components 13
Public portfolio
- Portfolio page
templates/index.html - Page styling
static/style.css
Contact handling
- Contact submission
app.py - MySQL connection
app.py - Contact messages
Admin management
- Admin login
app.py - Session guard
app.py - Message dashboard
app.py - Admin templates
templates/admin_login.html - Dashboard template
templates/admin_dashboard.html - Admin logout
app.py
Other components
- Visitor
- Admin user
Connections 16
- Visitor → Portfolio page: requests page
- Visitor → Contact submission: submits form
app.py - Contact submission → MySQL connection: opens connection
app.py - MySQL connection → Contact messages: connects to
app.py - Contact submission → Contact messages: inserts message
app.py - Admin user → Admin login: requests login
app.py - Admin login → Admin templates: renders login
app.py - Admin login → Session guard: sets session
app.py - Admin login → Message dashboard: redirects to
app.py - Session guard → Message dashboard: guards access
app.py - Message dashboard → MySQL connection: opens connection
app.py - Message dashboard → Contact messages: reads messages
app.py - Message dashboard → Dashboard template: renders messages
app.py - Session guard → Admin logout: guards access
app.py - Admin logout → Admin login: redirects to
app.py - Portfolio page → Page styling: styled by
README.md