Skip to content

StefaDale/Login_Registration_Form_Deploy

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

About

A complete form for login, registration and password recovery, with a frontend on GitHub Pages and an online Python backend.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages