This project is a simple web application built with Flask. It allows users to sign up, log in, and manage their profiles. Users can also update their profile information and change their password.
- Sign Up: Users can create a new account by providing their username, email, age, and password.
- Login: Users can log in to the application using their credentials.
- Profile Management: Once logged in, users can view and update their profile information.
- Flash Messages: The application provides feedback messages (success or error) for actions like sign-up or login.
- Backend: Python with Flask
- Frontend: HTML, CSS, Bootstrap 4
To run this project locally, follow these steps:
- Python 3.x
- pip (Python package installer)
A virtual environment (venv) is an isolated environment where all the dependencies for your project are contained. This ensures that your project uses its own versions of libraries and doesn't depend on globally installed libraries.
-
First, make sure you're using an up-to-date version of Python (at least Python 3.6). You can check your version with the following command:
python --version
-
Create a new virtual environment: python3 -m venv venv
-
Activate the virtual environment: Windows: venv\Scripts\activate macOS/Linux: source venv/bin/activate
-
Navigate to the project directory: cd my-application
-
Install the required dependencies from the
requirements.txtfile: pip install -r requirements.txt
- Run the Flask application: python app.py
Now you can access the application at http://localhost:5000.
The login functionality allows users to authenticate themselves by entering their username and password. The credentials are validated against the stored data in the MongoDB database, ensuring a secure login process.
Users can create a new account by providing their username, email, age, and a secure password. The system validates the entered data before storing it in the MongoDB database.
Each user has a personal profile where they can view and update their information, such as their username, email, and age. Access to the profile is protected and only available after successful authentication.
Users can edit their profile information (name, email, age). The updated details are saved in the database and reflected in real-time on the user’s profile.

To ensure the security of user passwords, the application hashes passwords before storing them in MongoDB. This process uses a secure hashing algorithm like bcrypt to prevent retrieving the passwords in plaintext, ensuring protection against unauthorized access.








