X-plore is a comprehensive search engine designed to provide accurate and relevant search results tailored to user queries. The project leverages Clerk for robust user authentication and MongoDB for efficient data storage, offering users a secure and trustworthy search experience. I played a crucial role throughout the project lifecycle, from initial design to deployment, handling both front-end and back-end development.
- Accurate Search Results: Provides precise and relevant search results based on user queries.
- Secure Authentication: Clerk ensures robust user authentication and authorization.
- User-Friendly Interface: Intuitive front-end design with React, Vite, TypeScript, Material UI, and Magic UI.
- Efficient Data Management: Backend powered by Spring Boot and MongoDB.
- Front End: React, Vite, TypeScript, Material UI, Magic UI
- Back End: Java Spring Boot, Spring Tool Suite (STS)
- Database: MongoDB
- Authentication: Clerk
- Node.js
- Java JDK
- MongoDB
- Spring Tool Suite (STS)
-
Clone the repository:
git clone https://github.com/yadavmangesh07/X-plore.git cd X-plore React -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Configure the database:
- Ensure MongoDB is running and accessible.
- Update the
application.propertiesfile with your MongoDB credentials:spring.data.mongodb.uri=mongodb+srv://<username>:<password>@cluster0.mongodb.net/<dbname>?retryWrites=true&w=majority
-
Build and run the application:
./mvnw spring-boot:run
- Access the front-end application at
http://localhost:5173. - Interact with the application to perform searches and manage your search history.
- POST /api/auth/signin: User sign-in
- POST /api/auth/signup: User sign-up
- POST /api/auth/signout: User sign-out
- GET /api/search: Retrieve search results based on a query
- POST /api/search/history: Save search history
- GET /api/search/history: Retrieve user search history
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature-branch). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Thanks to the creators of React, Vite, TypeScript, Spring Boot, Clerk, and MongoDB, and all other open-source projects that made this project possible.
- GitHub: yadavmangesh07
- LinkedIn: Mangesh Yadav