You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# User Management System
This project is a user management system implemented in Angular. It allows users to register, login, and manage their profiles.
## Features
- User Registration: Users can register by providing their username, email, and password. Passwords are hashed before being stored in the database.
- User Login: Registered users can log in using their email and password.
- Password Reset: Users can request a password reset if they forget their password. A password reset link is sent to their email.
- Profile Management: Users can view and update their profile information, including their username and email.
- Admin Panel: Administrators have access to an admin panel where they can manage users, such as viewing, editing, and deleting user accounts.
## Technologies Used
- Angular: Frontend framework for building the user interface.
- Angular Material: UI component library for Angular used for building the user interface with Material Design components.
- TypeScript: Programming language used for developing Angular applications.
- Node.js: Runtime environment for running the Angular application.
- Express.js: Backend framework used for building RESTful APIs to handle user management operations.
- MongoDB: NoSQL database used for storing user data.
- JSON Web Tokens (JWT): Used for user authentication and authorization.
- bcrypt.js: Library used for hashing passwords before storing them in the database.
- nodemailer: Library used for sending emails, such as password reset emails.
## Installation
1. Clone the repository:
2. Navigate to the project directory:
3. Install dependencies:
4. Run the application:
5. Open your web browser and navigate to `http://localhost:4200` to access the application.
## Configuration
- Set up environment variables for configuring the database connection, and email service credentials.
## Usage
- Register as a new user by providing your username, email, and password.
- Log in using your email and password.
- Update your profile information if needed.
- If you forget your password, use the password reset functionality to reset your password.
- Administrators can access the admin panel to manage user accounts.
-
## Contributing
Contributions are welcome! Please fork the repository and create a pull request with your improvements.
# EmailServicePOC