├── .firebase
└── hosting.YnVpbGQ.cache
├── .firebaserc
├── .gitignore
├── README.md
├── firebase.json
├── package-lock.json
├── package.json
├── public
├── fakeDB.JSON
├── favicon.ico
├── index.html
├── manifest.json
└── robots.txt
└── src
├── App.css
├── App.js
├── App.test.js
├── Components
├── Banner
│ ├── Banner.css
│ └── Banner.js
├── Contact
│ ├── Contact.css
│ └── Contact.js
├── OfferServices
│ ├── OfferServices.css
│ └── OfferServices.js
├── OurPartners
│ ├── OurPartners.css
│ └── OurPartners.js
└── Shared
│ ├── BackToTop
│ ├── BackToTop.css
│ └── BackToTop.js
│ ├── Footer
│ ├── Footer.css
│ └── Footer.js
│ ├── Header
│ ├── Header.css
│ └── Header.js
│ ├── Loading
│ └── Loading.js
│ └── PageTitle
│ └── PageTitle.js
├── Optional
├── AboutUs.js
├── Faq.js
└── PrivacyPolicy.js
├── Pages
├── AllReviews
│ ├── Review
│ │ ├── Review.css
│ │ └── Review.js
│ └── Reviews
│ │ ├── Reviews.css
│ │ └── Reviews.js
├── BloodsPage
│ ├── AvailableDonor
│ │ └── AvailableDonor.js
│ ├── BloodDonate
│ │ ├── BloodDonate.css
│ │ └── BloodDonate.js
│ ├── BloodHome
│ │ └── BloodHome.js
│ ├── BloodPatient
│ │ └── BloodPatient.js
│ └── Guidelines
│ │ └── Guidelines.js
├── CheckOut
│ └── CheckOut
│ │ ├── CheckOut.css
│ │ └── CheckOut.js
├── CoursesPage
│ ├── AllCourses
│ │ ├── AllCourses.css
│ │ └── AllCourses.js
│ ├── CourseDetails
│ │ ├── CourseDetails.css
│ │ └── CourseDetails.js
│ └── SingleCourse
│ │ ├── SingleCourse.css
│ │ └── SingleCourse.js
├── Dashboard
│ ├── AddBlog
│ │ └── AddBlog.js
│ ├── AddCourse
│ │ ├── AddCourse.css
│ │ └── AddCourse.js
│ ├── AddPlace
│ │ └── AddPlace.js
│ ├── AddReview
│ │ ├── AddReview.css
│ │ └── AddReview.js
│ ├── AllTransaction
│ │ └── AllTransaction.js
│ ├── CheckoutForm
│ │ └── CheckoutForm.js
│ ├── Dashboard
│ │ ├── Dashboard.css
│ │ └── Dashboard.js
│ ├── DashboardHome
│ │ └── DashboardHome.js
│ ├── ManageCourses
│ │ ├── ManageCourses.js
│ │ └── UpdateCourse.js
│ ├── ManageOrders
│ │ └── ManageOrders.js
│ ├── ManagePlaces
│ │ └── ManagePlaces.js
│ ├── Orders
│ │ └── Orders.js
│ ├── Payment
│ │ └── Payment.js
│ ├── Users
│ │ ├── UserRow.js
│ │ └── Users.js
│ └── __payment_steps.js
├── EducationBlogsPage
│ ├── AllBlogs
│ │ └── AllBlogs.js
│ ├── BlogDetails
│ │ └── BlogDetails.js
│ └── SingleBlog
│ │ └── SingleBlog.js
├── Home
│ ├── Home.css
│ └── Home.js
├── Login
│ ├── Login
│ │ ├── Login.css
│ │ └── Login.js
│ ├── Register
│ │ └── Register.js
│ ├── RequireAdmin
│ │ └── RequireAdmin.js
│ └── RequireAuth
│ │ └── RequireAuth.js
├── NotFound
│ └── NotFound.js
├── PlaceBooking
│ └── PlaceBooking.js
└── TravelPage
│ ├── AllPlaces
│ └── AllPlaces.js
│ ├── PlaceDetails
│ └── PlaceDetails.js
│ └── SinglePlace
│ └── SinglePlace.js
├── firebase.init.js
├── hooks
├── useAdmin
│ └── useAdmin.js
├── useBlogDetails
│ └── useBlogDetails.js
├── useCourseDetails
│ └── useCourseDetails.js
├── usePlaceDetails
│ └── usePlaceDetails.js
└── useToken
│ └── useToken.js
├── images
├── best-cook.png
├── blood-concept.jpg
├── delivery-concept.jpg
├── fast-delivery.png
├── logo.png
└── review.jpg
├── index.css
├── index.js
├── logo.svg
├── reportWebVitals.js
└── setupTests.js
/.firebase/hosting.YnVpbGQ.cache:
--------------------------------------------------------------------------------
1 | fakeDB.JSON,1674368028478,8f0974d8ed36739fe0ae4c676b14cc059bc80e83621b9f29c76bdb141b8740e8
2 | favicon.ico,1655560771700,5e12c71418e52a573911a3e5128e1b55e316b5912f8e749f649084d26d4f483b
3 | manifest.json,1655353656276,aff3449bdc238776f5d6d967f19ec491b36aed5fb7f23ccff6500736fd58494a
4 | robots.txt,1655353657779,bfe106a3fb878dc83461c86818bf74fc1bdc7f28538ba613cd3e775516ce8b49
5 | asset-manifest.json,1677191618050,a3639ed21a96467a59ef840556097811861ff6175baaf993f410ca83400974f2
6 | index.html,1677191618050,42469948036246f3bd8687bcba3e3b6aa96e577c2bff4df300629ef44615850e
7 | static/js/787.beb77ff5.chunk.js,1677191618065,864efbac16a80e6f42adeaa335e089695d7873578a88cd006045ebb9cfa16cbe
8 | static/js/787.beb77ff5.chunk.js.map,1677191618081,a49faf1fb700667092e4f4cad92519fb3364e7fccfe2c911b0346534a2a9dcbd
9 | static/js/main.42abb3ac.js.LICENSE.txt,1677191618065,a4bf333c58f9e94274c19b9aee77a652337affee13e747a3e15415ca14c01597
10 | static/media/review.8693276546367883219d.jpg,1677191618065,6e79fc230beb384db59ceec9ebcdf2eb74b2270d4c032860146711b7f4e501bb
11 | static/media/logo.e89c1383872aa95a5c3c.png,1677191618065,0562a877f82e12c660fc14436a6da61e9a7033cda1b7e95fd9d4e0d9e0a06d57
12 | static/css/main.1b79b855.css,1677191618065,84a0931ca3bbd63689f2816ad4b169c4875261b0e9bb961845281eed56985f95
13 | static/css/main.1b79b855.css.map,1677191618065,70d5640db8e98f7e32e4908e761fd3e68797e658c6b7f6bb548d9a853ff89822
14 | static/js/main.42abb3ac.js,1677191618065,d27ed7a5c61cf200210eada1945c8601adf5eeb985821fbed89c6a49b539895a
15 | static/js/main.42abb3ac.js.map,1677191618081,f0f793491a0a04c99915cf052127e7af5378e4dc023690d1406e5762c38b81bd
16 |
--------------------------------------------------------------------------------
/.firebaserc:
--------------------------------------------------------------------------------
1 | {
2 | "projects": {
3 | "default": "agency-97aa4"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## 📌Tech Specter An Organization Management Web Application with Daily Needs📌
2 |
3 | It's a web-based application that will help those users who want to make their life easier and secure. User can be getting amazing resources, great source of information for travelers, reading vlogs and most important is blood management in our project, there are lot of services provide which we need in our mechanical life.
4 |
5 |
6 | ## 🚀 Important Links
7 |
8 | - [Live Website- Tech Specter](https://agency-97aa4.web.app/)
9 | - [Project Presentation](https://docs.google.com/presentation/d/1O11rhGDIw7LHqvoPr_UsC3YpMGp1UbJh/edit?usp=share_link&ouid=109756157162586402730&rtpof=true&sd=true)
10 | - [Project Documentation](https://drive.google.com/file/d/1tOQI7dNMEWEoLmJH5NdPcDhLLxtFvLZU/view?usp=share_link)
11 | - [Server Side](https://github.com/shahidmonowarr/tech-specter-server).
12 |
13 | ## 💎 Features :
14 |
15 | 01. Tech Specter is a Fully Responsive website.
16 | 02. Users can purchase different types of courses, can booked travel, can read different types of blogs, and also can checkout availabel donors for blood.
17 | 03. Authentication system is available for both user and admin.
18 | 04. User can add their review and also can see others.
19 | 05. Dashboard is available for both user and admin.
20 | 06. Payment method is included.
21 | 07. Users can view and delete their purchases or bookings also can add reviews.
22 | 08. Admin can make an admin, delete or update services, and approve orders.
23 |
24 | ## 🛠 Front-end Thechnology :
25 | * React.js
26 | * Context-API
27 | * Bootstrap5
28 | * helmet
29 | * Firebase
30 |
31 | ## 🛠 Back-end Thechnology :
32 | * Node.js
33 | * Express.js
34 | * JWT
35 |
36 | ## 🛠 Database :
37 | * MongoDB
38 |
39 | ## 🗃️ Problem Scenario:
40 | Without problem nothing is impossible. All system has some problems. we also face some problems in real life and we will try to solve this.
41 | We can recapitulate a problem here:
42 | * People do not have complete trust in online systems; hence they do not reap the full benefits of these systems.
43 | * There is a manual mechanism for order, but it is all done online.
44 | * Using a variety of platforms may not be sufficient for all user.
45 | The system can be accessed at any time and from any location. This system is highly straightforward and user-friendly; a few examples are:
46 | * There is huge collection of donor.
47 | * Anyone can get blood on time.
48 | * Smart way of appointment.
49 | * Can upload prescription for future
50 | * Reduce cost
51 | * Best courses
52 | * Can know acceptability by rating and many more.
53 |
54 | ## 💡 Challenges:
55 | Reliability and satisfaction is the main factor of a perfect website. Our main challenges are to ensure the reliability and satisfaction to the user. However, choosing a suitable platform and relying on hardware is an important issue. These Projects have been created for the Bangladeshi Patient and Doctors help assistance.
56 | Every job has its own set of difficulties. As a result, we must also face a modest number of challenges.
57 | * Because it's a Web-based system, folks that ought to build appointments and
58 | bookings on-line victimization any web-connected device (computer, laptop,
59 | sensible phone, tablet, etc.) would be unable to try and do so.
60 | * If a user fails to review the notification for confirmation of a booking, the
61 | system's main goal will be failed.
62 |
63 | For this we perfectly maintain those requirements:
64 |
65 | * UI and UX design
66 | * Security
67 | * Performance
68 | * Authorization
69 | * Scalability
70 |
71 |
72 | ## 🔥 Motivation
73 | Suppose I am 52 years old now. Now I like to travel SINGAPORE. I am not familiar with online searching. But now I use this website which can provide best offer gathered by admin. From this scenario, we realize how can it help me. As a student I need to develop my skills and sometimes I need to go to travel for refreshment. That’s all I can get by using this application. Reading blogs is best practice now. It also in our application. The system also has a blood donor module, which allows users to register for blood donations and locate blood groups for future use. One can request for blood, donate blood. Blood for humanity.
74 |
75 | ## ⏳ Conclusion
76 | We successfully constructed our web based application. We tested many times with our browsers and the result is, it works properly. Hope so the user enjoys our service also .The user can handle it so nicely. We connect some users to find the limitations but they enjoy it with good experience. We tried our best and the result is outstanding.
77 |
--------------------------------------------------------------------------------
/firebase.json:
--------------------------------------------------------------------------------
1 | {
2 | "hosting": {
3 | "public": "build",
4 | "ignore": [
5 | "firebase.json",
6 | "**/.*",
7 | "**/node_modules/**"
8 | ],
9 | "rewrites": [
10 | {
11 | "source": "**",
12 | "destination": "/index.html"
13 | }
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "a-helping-hand-client",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@fortawesome/free-brands-svg-icons": "^6.1.1",
7 | "@fortawesome/react-fontawesome": "^0.1.18",
8 | "@react-google-maps/api": "^2.13.1",
9 | "@stripe/react-stripe-js": "^1.10.0",
10 | "@stripe/stripe-js": "^1.36.0",
11 | "@testing-library/jest-dom": "^5.16.4",
12 | "@testing-library/react": "^13.3.0",
13 | "@testing-library/user-event": "^13.5.0",
14 | "@trendyol-js/react-carousel": "^3.0.0",
15 | "aos": "^3.0.0-beta.6",
16 | "axios": "^0.27.2",
17 | "bootstrap": "^5.1.3",
18 | "emailjs-com": "^3.2.0",
19 | "firebase": "^9.9.3",
20 | "mdb-react-ui-kit": "^4.1.0",
21 | "react": "^18.2.0",
22 | "react-bootstrap": "^2.4.0",
23 | "react-dom": "^18.2.0",
24 | "react-firebase-hooks": "^5.0.3",
25 | "react-helmet-async": "^1.3.0",
26 | "react-hook-form": "^7.34.2",
27 | "react-phone-number-input": "^3.2.13",
28 | "react-query": "^3.39.2",
29 | "react-rating": "^2.0.5",
30 | "react-router-dom": "^6.3.0",
31 | "react-router-hash-link": "^2.4.3",
32 | "react-scripts": "5.0.1",
33 | "react-toastify": "^9.0.8",
34 | "web-vitals": "^2.1.4"
35 | },
36 | "scripts": {
37 | "start": "react-scripts start",
38 | "build": "react-scripts build",
39 | "test": "react-scripts test",
40 | "eject": "react-scripts eject"
41 | },
42 | "eslintConfig": {
43 | "extends": [
44 | "react-app",
45 | "react-app/jest"
46 | ]
47 | },
48 | "browserslist": {
49 | "production": [
50 | ">0.2%",
51 | "not dead",
52 | "not op_mini all"
53 | ],
54 | "development": [
55 | "last 1 chrome version",
56 | "last 1 firefox version",
57 | "last 1 safari version"
58 | ]
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/public/fakeDB.JSON:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "header1": "Develop your career with amazing resources",
4 | "header2": "[Grab your best courses]",
5 | "image": "https://i.ibb.co/jGwSgbH/12145615-Wavy-Edu-05-Single-08-1.jpg",
6 | "name": "Courses",
7 | "subtitle": "For Programmers",
8 | "category1": "Development",
9 | "category2": "Design",
10 | "category3": "Marketing",
11 | "cateImg1": "https://i.ibb.co/0cvg9w4/development.png",
12 | "cateImg2": "https://i.ibb.co/T810YGP/design.png",
13 | "cateImg3": "https://i.ibb.co/FbhLZdp/marketing.png",
14 | "btnText": "View All Courses",
15 | "link": "/allCourses",
16 | "description": "An online learning platform is a web space or portal for educational content and resources that offers a student everything they need in one place: lectures, resources, opportunities to meet and chat with other students, and more."
17 | },
18 | {
19 | "header1": "Best travel agency websites are a great source of information for travelers.",
20 | "header2": "[We are here for you.]",
21 | "image": "https://i.ibb.co/NSt3xsb/12291290-Wavy-Trv-01-Single-06-1.jpg",
22 | "name": "Travels ",
23 | "subtitle": "For Refreshment",
24 | "category1": "Date Analysis",
25 | "category2": "Pickup Transportation",
26 | "category3": "Tent Benefit",
27 | "cateImg1": "https://i.ibb.co/HhNz1P8/calendar.png",
28 | "cateImg2": "https://i.ibb.co/127QMyq/pickup.png",
29 | "cateImg3": "https://i.ibb.co/YXy5v90/tool.png",
30 | "btnText": "View All Places",
31 | "link": "/allPlaces",
32 | "description": "If a man stays at one place for a long time, he becomes monotonous and his life becomes boring and callous. Traveling removes our monotony and gives pleasure. Similarly, it also broadens our outlook and refreshes our mind. A good traveler can easily educate others."
33 | },
34 | {
35 | "header1": "Reading blogs will not only keep you updated with information but can help you",
36 | "header2": "[Becoming a great person as well]",
37 | "image": "https://i.ibb.co/ZHDZZtd/12083320-Wavy-Bus-15-Single-06-min.jpg",
38 | "name": "Blogs",
39 | "subtitle": "For Students",
40 | "category1": "Development",
41 | "category2": "Marketing",
42 | "category3": "Health",
43 | "cateImg1": "https://i.ibb.co/0cvg9w4/development.png",
44 | "cateImg2": "https://i.ibb.co/FbhLZdp/marketing.png",
45 | "cateImg3": "https://i.ibb.co/XkK2zF3/health.png",
46 | "btnText": "View All Blogs",
47 | "link": "/allBlogs",
48 | "description": "However, following a positive attitude as well as spreading that rationalist to other people will make your skills more rewarding. This blog will help you in becoming that positivist social butterfly with its everyday tips on how to be a better person as well as how to build stronger skills. Believe me, you will be surprised after reading a few posts."
49 | },
50 | {
51 | "header1": "Blood donation is a safe process. Patient need blood for their treatment.",
52 | "header2": "[Donate your blood or collect if needed]",
53 | "image": "https://i.ibb.co/BnCpxq5/12146072-Wavy-Lst-04-Single-01-min-1.jpg",
54 | "name": "Bloods",
55 | "subtitle": "For Needy",
56 | "category1": "Blood Donation",
57 | "category2": "Platelet Donation",
58 | "category3": "Plasma Donation",
59 | "cateImg1": "https://i.ibb.co/CQJSGnJ/blood-analysis.png",
60 | "cateImg2": "https://i.ibb.co/S769bW3/blood-bag.png",
61 | "cateImg3": "https://i.ibb.co/qMQxZV0/blood-transfusion.png",
62 | "btnText": "View All Bloods",
63 | "link": "/blood",
64 | "description": "However, following a positive attitude as well as spreading that rationalist to other people will make your skills more rewarding. This blog will help you in becoming that positivist social butterfly with its everyday tips on how to be a better person as well as how to build stronger skills. Believe me, you will be surprised after reading a few posts."
65 | }
66 | ]
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shahidmonowarr/tech-specter-client/87077e7335351323a2066924bca851ce0f711bca/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
15 |
16 |
17 | Overview
18 |
19 | Our website address is: https://techspecter.com. This privacy policy is for this website and served by Tech specter and governs the privacy of its users who choose to use it. The policy sets out the different areas where user privacy is concerned and outlines the obligations & requirements of the users, the website and website owners. Furthermore the way this website processes, stores and protects user data and information will also be detailed within this policy.
20 |
21 |
22 |
23 | Refunds
24 |
25 | Our refund and returns policy lasts 30 days. If 30 days have passed since your purchase, we can't offer you a full refund or exchange. To be eligible for a return, your item must be unused and in the same condition that you received it. It must also be in the original packaging. To complete your return, we require a receipt or proof of purchase. Please do not send your purchase back to the manufacturer. There are certain situations where only partial refunds are granted (if applicable).
26 |
27 |
28 |
29 | Privacy policy amendment
30 |
31 | We may amend or update this policy from time to time and will notify you of any material changes to this policy. Previous versions of this privacy policy are available upon request. We encourage you to periodically review this page for the latest information on our privacy practices. Your continued use of the Site after any changes or revisions to this Privacy Policy shall indicate your agreement with the terms of such revised Privacy Policy.
32 |
33 |
34 |
35 |
36 | );
37 | };
38 |
39 | export default AboutUs;
--------------------------------------------------------------------------------
/src/Optional/Faq.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Accordion, Container } from 'react-bootstrap';
3 | import PageTitle from '../Components/Shared/PageTitle/PageTitle';
4 |
5 | const Faq = () => {
6 | return (
7 |
8 |
9 |
10 |
11 | FAQ
12 |
Frequently Asked Questions!
13 |
14 |
15 |
16 |
17 | How do I get started on Tech specter?
18 |
19 | After entering to the website you can visit the home page and see the services we provide to the customers. You can also see the reviews of the customers. If you want to buy a product you can go to the service page and select the product you want to buy. After selecting the product you can add it to the cart and then you can proceed to checkout. After checkout you can pay the amount and then you can get the product.
20 |
21 |
22 |
23 | Are there any extra fees?
24 |
25 | We just charge the amount of the product you buy. There are no extra fees. We also provide free shipping to our customers.
26 |
27 |
28 |
29 | Do you offer any other services?
30 |
31 | Yes, we offer other services like web development, web design, software development, software design, mobile app development, mobile app design, digital marketing etc. You can visit our service page to see the services we offer. Also you can visit our blog page to see the blogs we write. You can also visit our contact page to contact us. You can also visit our about page to know more about us. You can also visit our FAQ page to see the frequently asked questions. You can also visit our privacy policy page to see our privacy policy.
32 |
33 |
34 |
35 | Can I make changes to an order I already placed?
36 |
37 | Yes, you can make changes to an order you already placed if you not yet paid. So You can contact us within 24 hours of placing the order. If you contact us after 24 hours, we will not be able to make any changes to your order.
38 |
39 |
40 |
41 | Where Is my Order?
42 |
43 | Please visit the My Orders page to the dashboard for a list of your confirmed orders. You can also check the status of your order by clicking on the order number. If you have any questions about your order, please contact us.
44 |
45 |
46 |
47 | Where are You Located?
48 |
49 | Mirpur DOHS, Dhaka North, Mirpur Thana of Dhaka City. The Neighborhood is located close to Mirpur Cantonment. The Postal Code of Mirpur DOHS is 1216.
50 |
51 |
52 |
53 |
54 | );
55 | };
56 |
57 | export default Faq;
--------------------------------------------------------------------------------
/src/Optional/PrivacyPolicy.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Accordion, Container } from 'react-bootstrap';
3 | import PageTitle from '../Components/Shared/PageTitle/PageTitle';
4 |
5 | const PrivacyPolicy = () => {
6 | return (
7 |
8 |
9 |
10 |
11 | Privacy Policy
12 |
Terms and conditions of Tech specter!
13 |
14 |
15 |
16 |
17 | Overview
18 |
19 | Our website address is: https://techspecter.com. This privacy policy is for this website and served by Tech specter and governs the privacy of its users who choose to use it. The policy sets out the different areas where user privacy is concerned and outlines the obligations & requirements of the users, the website and website owners. Furthermore the way this website processes, stores and protects user data and information will also be detailed within this policy.
20 |
21 |
22 |
23 | Consent
24 |
25 | By using our website, you hereby consent to our Privacy Policy and agree to its terms. This Privacy Policy applies only to our online activities and is valid for visitors to our website with regards to the information that they shared and/or collect in Tech specter. This policy is not applicable to any information collected offline or via channels other than this website.
26 |
27 |
28 |
29 | Information We Collect
30 |
31 | The personal information that you are asked to provide, and the reasons why you are asked to provide it, will be made clear to you at the point we ask you to provide your personal information.
32 |
33 | If you contact us directly, we may receive additional information about you such as your name, email address, phone number, the contents of the message and/or attachments you may send us, and any other information you may choose to provide.
34 |
35 | When you register for an Account, we may ask for your contact information, including items such as name, address, email address, and telephone number.
36 |
37 |
38 |
39 | How We use your Information
40 |
41 |
42 |
Provide, operate, and maintain our website
43 |
Improve, personalize, and expand our website
44 |
Understand and analyze how you use our website
45 |
Develop new products, services, features, and functionality
46 |
Send you emails
47 |
Find and prevent fraud
48 |
49 |
50 |
51 |
52 | Refunds
53 |
54 | Our refund and returns policy lasts 30 days. If 30 days have passed since your purchase, we can't offer you a full refund or exchange. To be eligible for a return, your item must be unused and in the same condition that you received it. It must also be in the original packaging. To complete your return, we require a receipt or proof of purchase. Please do not send your purchase back to the manufacturer. There are certain situations where only partial refunds are granted (if applicable).
55 |
56 |
57 |
58 | Cookies and Web Beacons
59 |
60 | Like any other website, One Tech specter uses 'cookies'. These cookies are used to store information including visitors preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users experience by customizing our web page content based on visitors browser type and/or other information.
61 |
62 |
63 |
64 |
65 | );
66 | };
67 |
68 | export default PrivacyPolicy;
--------------------------------------------------------------------------------
/src/Pages/AllReviews/Review/Review.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shahidmonowarr/tech-specter-client/87077e7335351323a2066924bca851ce0f711bca/src/Pages/AllReviews/Review/Review.css
--------------------------------------------------------------------------------
/src/Pages/AllReviews/Review/Review.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Card, Col } from 'react-bootstrap';
3 | import Rating from 'react-rating';
4 | import img1 from '../../../images/review.jpg';
5 | import './Review.css';
6 |
7 | const Review = ({review}) => {
8 | const { name, description, rating } = review;
9 | return (
10 |
168 | );
169 | };
170 |
171 | export default BloodPatient;
172 |
--------------------------------------------------------------------------------
/src/Pages/BloodsPage/Guidelines/Guidelines.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { Card, Container } from "react-bootstrap";
3 |
4 | const Guidelines = () => {
5 | return (
6 |
7 |
8 |
9 |
13 | Read This Blog About Blood Donation
14 |
15 |
16 | Blood donation is a selfless act that can save the lives of
17 | countless people in need. It is a simple and quick process that has
18 | the potential to make a huge difference in the lives of others.
19 |
20 |
21 |
Why people donate Blood:
22 |
23 | There are several reasons why people donate blood. Some do it to
24 | give back to their community, while others do it to help a loved one
25 | in need. No matter the reason, the act of donating blood is a noble
26 | and selfless one that can have a profound impact on the lives of
27 | others.
28 |
29 |
30 |
Process of Blood donating:
31 |
32 | The process of donating blood is relatively simple. First, you will
33 | need to find a blood donation center or blood drive in your area.
34 | Many hospitals, community centers, and other organizations host
35 | blood drives on a regular basis. Once you have found a location, you
36 | will need to make an appointment to donate.
37 |
38 |
39 |
Medical Checkup:
40 |
41 | Before donating blood, you will need to fill out a medical
42 | questionnaire to ensure that you are eligible to donate. There are
43 | certain medical conditions and medications that can disqualify you
44 | from donating blood. It is important to be honest and upfront about
45 | your medical history to ensure the safety of both the donor and the
46 | recipient.
47 |
48 |
49 |
On the day of your appointment:
50 |
51 | On the day of your appointment, you will need to arrive at the blood
52 | donation center a few minutes early to check in. You will be asked
53 | to provide identification and to complete a few more forms. Next,
54 | you will undergo a mini-physical, which will include checking your
55 | pulse, blood pressure, and hemoglobin levels. This is to ensure that
56 | you are healthy enough to donate blood.
57 |
58 |
59 |
What you have to do:
60 |
61 | Once you have been cleared to donate, you will be taken to a private
62 | room where the actual blood donation will take place. A trained
63 | phlebotomist will insert a sterile needle into a vein in your arm
64 | and collect the blood. The entire process takes about 10-15 minutes
65 | and is relatively painless.
66 |
67 |
68 |
What you have to do:
69 |
70 | Once you have been cleared to donate, you will be taken to a private
71 | room where the actual blood donation will take place. A trained
72 | phlebotomist will insert a sterile needle into a vein in your arm
73 | and collect the blood. The entire process takes about 10-15 minutes
74 | and is relatively painless. After the blood has been collected, you
75 | will be given a snack and encouraged to relax for a few minutes
76 | before leaving. It is important to drink plenty of fluids and avoid
77 | strenuous activity for the rest of the day. Most people are able to
78 | return to their normal activities the next day.
79 |
80 |
81 |
Benefits to donating Blood:
82 |
83 | There are many benefits to donating blood. In addition to helping
84 | others, it can also have a positive impact on your own health.
85 | Donating blood can help lower your risk of heart disease and can
86 | also stimulate the production of new red blood cells, which can help
87 | improve your overall health and well-being.
88 |
89 |
90 | It is important to note that there is a constant need for blood
91 | donations. Blood is a perishable product and must be constantly
92 | replenished. By donating blood, you can help ensure that there is a
93 | sufficient supply of blood available for those in need.
94 |
95 |
96 | In conclusion, donating blood is a simple and selfless act that can
97 | save the lives of countless people. If you are eligible to donate,
98 | consider making an appointment to give blood today. You never know
99 | when you or someone you love may need a blood transfusion, and by
100 | donating blood, you can help ensure that there is a sufficient
101 | supply available for those in need.
102 |
103 |
104 |
105 |
106 | );
107 | };
108 |
109 | export default Guidelines;
110 |
--------------------------------------------------------------------------------
/src/Pages/CheckOut/CheckOut/CheckOut.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;700;900&display=swap');
2 |
3 |
4 | .form-holder {
5 | display: flex;
6 | flex-direction: column;
7 | justify-content: center;
8 | align-items: center;
9 | text-align: center;
10 | min-height: 60vh;
11 |
12 | }
13 |
14 | .form-holder .form-content {
15 | position: relative;
16 | text-align: center;
17 | display: -webkit-box;
18 | display: -moz-box;
19 | display: -ms-flexbox;
20 | display: -webkit-flex;
21 | display: flex;
22 | -webkit-justify-content: center;
23 | justify-content: center;
24 | -webkit-align-items: center;
25 | align-items: center;
26 | padding: 5px;
27 | }
28 |
29 | .form-content .form-items {
30 | background-color: #495056;
31 | border: 3px solid #fff;
32 | padding: 40px;
33 | display: inline-block;
34 | width: 100%;
35 | min-width: 360px;
36 | -webkit-border-radius: 10px;
37 | -moz-border-radius: 10px;
38 | border-radius: 10px;
39 | text-align: left;
40 | -webkit-transition: all 0.4s ease;
41 | transition: all 0.4s ease;
42 | }
43 |
44 | .form-content h3 {
45 | color: #fff;
46 | text-align: left;
47 | font-size: 28px;
48 | font-weight: 600;
49 | margin-bottom: 5px;
50 | }
51 |
52 | .form-content p {
53 | color: #fff;
54 | text-align: left;
55 | font-size: 17px;
56 | font-weight: 300;
57 | line-height: 20px;
58 | margin-bottom: 30px;
59 | }
60 |
61 | .form-content input{
62 | width: 100%;
63 | padding: 9px 20px;
64 | text-align: left;
65 | border: 0;
66 | outline: 0;
67 | border-radius: 6px;
68 | background-color: #fff;
69 | font-size: 15px;
70 | font-weight: 300;
71 | color: #8D8D8D;
72 | -webkit-transition: all 0.3s ease;
73 | transition: all 0.3s ease;
74 | margin-top: 16px;
75 | }
76 |
77 |
78 | .submit{
79 | background-color: #6C757D;
80 | outline: none;
81 | border: 0px;
82 | box-shadow: none;
83 | }
84 |
85 | .submit:hover, .submit:focus, .submit:active{
86 | background-color: #495056;
87 | outline: none !important;
88 | border: none !important;
89 | box-shadow: none;
90 | }
91 |
92 | .form-content textarea {
93 | position: static !important;
94 | width: 100%;
95 | padding: 8px 20px;
96 | border-radius: 6px;
97 | text-align: left;
98 | background-color: #fff;
99 | border: 0;
100 | font-size: 15px;
101 | font-weight: 300;
102 | color: #8D8D8D;
103 | outline: none;
104 | resize: none;
105 | height: 120px;
106 | -webkit-transition: none;
107 | transition: none;
108 | margin-bottom: 14px;
109 | }
110 |
111 | .form-content textarea:hover, .form-content textarea:focus {
112 | border: 0;
113 | background-color: #ebeff8;
114 | color: #8D8D8D;
115 | }
116 |
--------------------------------------------------------------------------------
/src/Pages/CheckOut/CheckOut/CheckOut.js:
--------------------------------------------------------------------------------
1 | import axios from "axios";
2 | import React from "react";
3 | import { Container } from "react-bootstrap";
4 | import { useAuthState } from "react-firebase-hooks/auth";
5 | import { useNavigate, useParams } from "react-router-dom";
6 | import { toast } from 'react-toastify';
7 | import PageTitle from "../../../Components/Shared/PageTitle/PageTitle";
8 | import auth from "../../../firebase.init";
9 | import useCourseDetails from "../../../hooks/useCourseDetails/useCourseDetails";
10 | import "./CheckOut.css";
11 |
12 | const CheckOut = () => {
13 | const { serviceId } = useParams();
14 | const [course] = useCourseDetails(serviceId);
15 | const [user] = useAuthState(auth);
16 |
17 | const navigate = useNavigate();
18 |
19 | if(user){
20 | // console.log(user);
21 | }
22 |
23 | const handlePlaceOrder = event =>{
24 | event.preventDefault();
25 | const order = {
26 | email: user.email,
27 | service: course.name,
28 | serviceId: serviceId,
29 | image: course.image,
30 | price: course.price,
31 | description: course.description,
32 | phone: event.target.phone.value,
33 | status: "Pending"
34 |
35 | }
36 | axios.post('https://tech-specter.onrender.com/order', order)
37 | .then(res => {
38 | const {data}= res;
39 | if (data.insertedId) {
40 | toast('Your Order is Booked');
41 | event.target.reset();
42 | navigate('/dashboard/myOrders');
43 | }
44 | // console.log(res);
45 | })
46 | }
47 |
48 | return (
49 |
50 |
51 |
65 |
66 | Junior Ahmed
67 |
68 | A technology entrepreneur. He himself is a full stack web
69 | developer and software architect and has been involved in
70 | the web development and software profession for over 14
71 | years.
72 |
73 |
74 |
75 | juniorahmed.cse@gmail.com{" "}
76 | Phone: +880 1711 000 000{" "}
77 |
78 | Reviews:{" "}
79 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |