Sarhni Clone is a full-stack web application that allows users to receive anonymous messages from others without knowing the sender's identity. Users can create an account using their email, verify their email through a confirmation link, and then sign in to read and manage the received messages. Additionally, users can generate a sharable link to receive messages from friends without revealing their identity.
- User registration and authentication via email confirmation, user can't sign in without confirmation.
- Send and receive anonymous messages.
- Delete received messages.
- Generate sharable links for friends to send anonymous messages.
-
Frontend:
- Angular
- Bootstrap
- Fontawesome
- Angular forms
- Angular cdk
- Angular Router
- HttpClient for API requests
-
Backend:
- Node.js with Express.js
- MongoDB for database storage
- Mongoose for database modeling
- Bcrypt for hashing password
- Jwt to make token
- Joi for validation
- Express global error handling
- Cors
- Nodemailer for sending confirmation emails
-
Clone the repository:
git clone https://github.com/NadaAly56/Sarhni_Simulation_MEAN.git cd Sarhni_Simulation_MEAN
-
Install the frontend dependencies:
cd frontend npm install
-
Install the backend dependencies:
cd ../backend npm install
-
Set up Environment Variables:
Create a .env file in the backend directory and set the following environment variables:
- PASS=your_password - EMAIL=your_email - KEY=your_secret_key - ROUND=number_of_rounds_for_password_hashing - PORT=your_server_port - DBCONNECTION=your_mongodb_connection_string
-
Start the Frontend and Backend: In the frontend directory:
npm start In the backend directory: npm start or nodemon
- Register for an account using your email address.
- Verify your email address by clicking the confirmation link sent to your email.
- Log in to your account.
- Share the generated link with friends to receive anonymous messages.
- View and manage received messages in your account.
If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and test them thoroughly.
- Commit your changes and create a pull request.
For any inquiries or support, please contact Nada Aly at nada.aly5613@gmail.com.