Flagship-Phones

Web application that showcases flagship phones. It provides information about the latest flagship phones from various brands and allows users to explore their features, specifications and admin side to mangage all. The application is hosted on AWS and can be accessed using the domain flagship-phones.store.

Visit the domain to explore the flagship phones => https://flagship-phones.store

Technologies Used

Backend: Node.js and Express.js
Database: MongoDB
Frontend: EJS (Embedded JavaScript), CSS, and Bootstrap 4
Programming Language: JavaScript ES6
HTTP Requests: Axios
DOM Manipulation: jQuery
Additional Libraries: DataTables, Toastify.js
Third-Party Integrations:
    Twilio: For OTP login functionality
    PayPal: For payment processing
    Razorpay: For payment processing
    Cloudinary: For storing and managing images

Features

View a list of flagship phones from different brands
Click on a phone to see detailed information and specifications
Filter phones based on brand, price, or other criteria
Search for specific phones by name or features
OTP login using Twilio integration
Secure and convenient payment processing using PayPal and Razorpay
Image upload and storage using Cloudinary

Getting Started

To run the project locally, follow these steps:

Clone the repository: git clone https://github.com/nishad7447/project1.git
Install dependencies: npm install
Set up MongoDB: Ensure you have MongoDB installed and running on your local machine.
Configure the database connection: Open the project in a code editor and locate the database configuration file. Update the necessary credentials (such as database URL, username, and password) to establish a connection with your MongoDB database.
Set up Twilio: Sign up for a Twilio account and obtain the necessary credentials (account SID, auth token, phone number) for OTP functionality. Update the Twilio configuration in the project.
Set up PayPal: Sign up for a PayPal developer account and obtain the required credentials (client ID, secret) for payment processing. Update the PayPal configuration in the project.
Set up Razorpay: Sign up for a Razorpay account and obtain the necessary credentials (key ID, key secret) for payment processing. Update the Razorpay configuration in the project.
Set up Cloudinary: Sign up for a Cloudinary account and obtain the necessary credentials (cloud name, API key, API secret) for image upload and storage. Update the Cloudinary configuration in the project.
Start the development server: Run the command npm start to start the Node.js server.
Open your browser and visit http://localhost:3000 to see the application.

Deployment

The application is hosted on AWS and can be accessed using the domain flagship-phones.store. Visit the domain to explore the flagship phones.