Swaadlink is a Full-Stack Web Application designed to connect users with professional chefs for personalized home-cooked meals and special events. Whether you're planning a family gathering, a romantic dinner, or just want to enjoy a gourmet meal in the comfort of your home, Swaadlink makes it easy to find and book the perfect chef for your needs.
The idea behind Swaadlink is to bridge the gap between talented chefs and food enthusiasts who crave customized culinary experiences. The platform allows users to explore a wide range of chef profiles, each showcasing their unique specialties, and book them for a variety of events, from intimate dinners to large-scale celebrations.
- Empower Chefs: Provide a platform for chefs to showcase their culinary expertise, build their brand, and connect with potential clients.
- Enhance User Experience: Offer users a seamless way to find, filter, and book chefs based on their specific preferences and needs.
- Promote Local Cuisine: Support local chefs and promote diverse culinary traditions.
- Chef Profiles: Comprehensive profiles featuring chef specialties, experience, ratings, reviews, and availability.
- Real-time Booking System: An integrated booking system that allows users to schedule chefs for specific dates and times, with instant confirmation.
- Efficient Search & Filtering: Advanced search and filtering options to help users find the perfect chef based on cuisine, availability, location, price range, and more.
- User Authentication: Secure user authentication system with registration, login, and role-based access control for chefs and customers.
- Rating & Review System: Users can rate and review chefs after their services, helping to maintain quality and trust within the platform.
- Responsive Design: Fully responsive design ensures a seamless user experience across all devices, including desktops, tablets, and mobile phones.
- React.js: A powerful JavaScript library for building user interfaces.
- Redux: State management for predictable and consistent application behavior.
- CSS3: Custom styling for a modern and responsive UI.
- Node.js: A JavaScript runtime for building scalable and efficient server-side applications.
- Express.js: A web application framework for Node.js, used to build the backend API.
- MongoDB: A NoSQL database for storing chef profiles, user data, bookings, and more.
- JWT (JSON Web Tokens): Used for secure user authentication.
- Mongoose: An ODM (Object Data Modeling) library for MongoDB and Node.js.
- Bcrypt.js: For hashing passwords before storing them in the database.
The application follows a classic three-tier architecture:
- Presentation Layer (Frontend): Developed with React.js and Redux, responsible for rendering the UI and handling user interactions.
- Application Layer (Backend): Built using Node.js and Express.js, this layer handles business logic, API routing, and communication with the database.
- Data Layer (Database): MongoDB stores all the data, including user information, chef profiles, bookings, and reviews.
The frontend communicates with the backend via RESTful APIs, while the backend interacts with the MongoDB database to perform CRUD operations.
To get started with Swaadlink on your local machine:
- Clone the repository:
git clone https://github.com/Prathamesh-chougale-17/swaadLink.git
- Go to Frontend Directory
cd frontend
- Run the Code
npm run dev
- Appendix (Backend is hosted so we have connected the deployed version to frontend if you want to run the backend from local and connect to the frontend Please Follow along)
- Go to Backend Directory from the root
cd backend
- Change the base URL from Frontend in src/services/api.ts file
http://localhost:3001/api
- Start the Backend
npm start