StefaDale/Login_Registration_Form_Deploy
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Login Registration Form - Deploy
================================
Online demonstration version of the "Login Registration Form" project.
This folder is a separate copy of the original local project. It is used to publish a working demo with:
- Static frontend on GitHub Pages
- Python WSGI backend on PythonAnywhere
- Live preview integrated into the personal portfolio
URLs
----
GitHub Pages frontend:
https://stefadale.github.io/Login_Registration_Form_Deploy/
PythonAnywhere backend:
https://stefadale.pythonanywhere.com
Project Structure
-----------------
index.html
Login page.
new-user.html
Registration page.
recover-password.html
Password recovery page.
reset-password.html
Password reset page.
style.css
Shared styling for all pages.
script.js
Deploy frontend JavaScript. It intercepts forms and sends requests to the online backend using:
https://stefadale.pythonanywhere.com
app.py
Python WSGI backend for PythonAnywhere. It handles login, registration, password recovery and password reset.
utenti.json
User store used by the PythonAnywhere backend.
server.py
Local server inherited from the original project. It is not used by the PythonAnywhere deploy.
DEPLOY.md
Operational instructions for GitHub Pages and PythonAnywhere.
Files to Publish
----------------
Upload to GitHub Pages:
- index.html
- new-user.html
- recover-password.html
- reset-password.html
- style.css
- script.js
- README-IT.txt
- README.txt
- PROJECT_CONTEXT.md
- PROJECT_CONTEXT-EN.md
Upload to PythonAnywhere:
- app.py
- utenti.json
Do not upload `utenti.json` to GitHub Pages if it contains real users or data you do not want to make public.
How It Works
------------
The frontend published on GitHub Pages displays the HTML pages and sends form data to the PythonAnywhere backend.
The PythonAnywhere backend receives POST requests on:
- /login
- /register
- /recover-password
- /reset-password
The backend reads and updates `utenti.json`, then returns plain-text messages shown by the frontend below the buttons.
Portfolio Integration
---------------------
This demo is shown in the Netlify personal portfolio inside the Projects section.
In the portfolio:
- The original `Login_Registration_Form` repository is hidden to avoid a non-working duplicate.
- The `Login_Registration_Form_Deploy` repository is shown with a live preview.
- Clicking the card or demo button opens a modal/iframe with the GitHub Pages frontend.
Important Notes
---------------
This project remains an educational demo.
Passwords are stored in clear text inside `utenti.json`. This is not safe for production.
A real system would require at least:
- Hashed passwords
- Real database
- Secure sessions or tokens
- Password reset with temporary email tokens
- Rate limiting and robust validation