diff --git a/admin/.env.example b/admin/.env.example index 7fa809d..0b03dc1 100644 --- a/admin/.env.example +++ b/admin/.env.example @@ -1,5 +1,5 @@ # DEV -REACT_APP_API_URL=http://localhost:3300/api +REACT_APP_API_URL=http://dev.bikehub.me/api/v1/ # PROD -# REACT_APP_API_URL=http://dev.bikehub.me/api +# REACT_APP_API_URL=http://dev.bikehub.me/api/v1 diff --git a/admin/package.json b/admin/package.json index e7d4345..0c0735d 100644 --- a/admin/package.json +++ b/admin/package.json @@ -37,7 +37,7 @@ "web-vitals": "^2.1.4" }, "scripts": { - "start": "react-scripts start", + "start": "PORT=3001 react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject", diff --git a/admin/public/index.html b/admin/public/index.html index bf82779..887bdd3 100644 --- a/admin/public/index.html +++ b/admin/public/index.html @@ -1,10 +1,10 @@ diff --git a/admin/public/logoIcon.png b/admin/public/logoIcon.png new file mode 100644 index 0000000..4929c50 Binary files /dev/null and b/admin/public/logoIcon.png differ diff --git a/admin/public/manifest.json b/admin/public/manifest.json index 1f2f141..4259444 100644 --- a/admin/public/manifest.json +++ b/admin/public/manifest.json @@ -1,9 +1,9 @@ { - "short_name": "React App", - "name": "Create React App Sample", + "short_name": "BikeHub", + "name": "BikeHub", "icons": [ { - "src": "favicon.ico", + "src": "logoIcon.png", "sizes": "64x64 32x32 24x24 16x16", "type": "image/x-icon" } diff --git a/admin/src/assets/css/MiniCalendar.css b/admin/src/assets/css/MiniCalendar.css index 61355b7..461faa0 100644 --- a/admin/src/assets/css/MiniCalendar.css +++ b/admin/src/assets/css/MiniCalendar.css @@ -24,14 +24,14 @@ abbr[title] { text-decoration: unset !important; } .react-calendar__navigation__prev-button { - background-color: #4318ff !important; + background-color: #38b2ac !important; border-radius: 10px; min-width: 34px !important; height: 34px !important; color: white; } .react-calendar__navigation__next-button { - background-color: #4318ff !important; + background-color: #38b2ac !important; border-radius: 10px; min-width: 34px !important; width: 34px !important; @@ -73,7 +73,7 @@ abbr[title] { .react-calendar__tile--active, .react-calendar__tile--active:enabled:hover, .react-calendar__tile--active:enabled:focus { - background: #4318ff; + background: #38b2ac; border-radius: 10px; color: white; } @@ -81,13 +81,13 @@ abbr[title] { .react-calendar__tile--range:enabled:hover, .react-calendar__tile--range:enabled:focus { background: #f4f7fe; - color: #4318ff; + color: #38b2ac; border-radius: 0px; } .react-calendar__tile--rangeStart, .react-calendar__tile--rangeStart:enabled:hover, .react-calendar__tile--rangeStart:enabled:focus { - background: #4318ff; + background: #38b2ac; border-top-left-radius: 10px; border-bottom-left-radius: 10px; color: white; @@ -95,7 +95,7 @@ abbr[title] { .react-calendar__tile--rangeEnd, .react-calendar__tile--rangeEnd:enabled:hover, .react-calendar__tile--rangeEnd:enabled:focus { - background: #4318ff; + background: #38b2ac; border-top-right-radius: 10px; border-bottom-right-radius: 10px; color: white; @@ -107,10 +107,10 @@ body.dark .react-calendar { border-radius: 30px; } body.dark .react-calendar__navigation__prev-button { - background-color: #7551ff !important; + background-color: #86e7e2 !important; } body.dark .react-calendar__navigation__next-button { - background-color: #7551ff !important; + background-color: #86e7e2 !important; color: white; } body.dark .react-calendar__tile { @@ -134,24 +134,24 @@ body.dark .react-calendar__month-view__days__day--neighboringMonth { body.dark .react-calendar__tile--active, body.dark .react-calendar__tile--active:enabled:hover, body.dark .react-calendar__tile--active:enabled:focus { - background: #7551ff; + background: #86e7e2; color: white; } body.dark .react-calendar__tile--range, body.dark .react-calendar__tile--range:enabled:hover, body.dark .react-calendar__tile--range:enabled:focus { background: rgba(255, 255, 255, 0.1); - color: #7551ff; + color: #86e7e2; } body.dark .react-calendar__tile--rangeStart, body.dark .react-calendar__tile--rangeStart:enabled:hover, body.dark .react-calendar__tile--rangeStart:enabled:focus { - background: #7551ff; + background: #86e7e2; color: white; } body.dark .react-calendar__tile--rangeEnd, body.dark .react-calendar__tile--rangeEnd:enabled:hover, body.dark .react-calendar__tile--rangeEnd:enabled:focus { - background: #7551ff; + background: #86e7e2; color: white; -} \ No newline at end of file +} diff --git a/admin/src/components/card/CardMenu.tsx b/admin/src/components/card/CardMenu.tsx index d818d70..9522197 100644 --- a/admin/src/components/card/CardMenu.tsx +++ b/admin/src/components/card/CardMenu.tsx @@ -17,7 +17,7 @@ function CardMenu(props: { transparent?: boolean }) { className={`flex items-center text-xl hover:cursor-pointer ${ transparent ? "bg-none text-white hover:bg-none active:bg-none" - : "bg-lightPrimary p-2 text-brand-500 hover:bg-gray-100 dark:bg-navy-700 dark:text-white dark:hover:bg-white/20 dark:active:bg-white/10" + : "bg-lightPrimary p-2 text-teal-600 hover:bg-gray-100 dark:bg-navy-700 dark:text-white dark:hover:bg-white/20 dark:active:bg-white/10" } linear justify-center rounded-lg font-bold transition duration-200`} > diff --git a/admin/src/components/card/NftCard.tsx b/admin/src/components/card/NftCard.tsx index 4dc4f72..6493533 100644 --- a/admin/src/components/card/NftCard.tsx +++ b/admin/src/components/card/NftCard.tsx @@ -26,13 +26,13 @@ const NftCard = (props: { /> @@ -70,11 +70,11 @@ const NftCard = (props: {
-

+

Current Bid: {price} ETH

-
diff --git a/admin/src/components/checkbox/index.tsx b/admin/src/components/checkbox/index.tsx index ce91d1f..089cb57 100644 --- a/admin/src/components/checkbox/index.tsx +++ b/admin/src/components/checkbox/index.tsx @@ -21,7 +21,7 @@ const Checkbox = (props: { return ( diff --git a/admin/src/views/admin/default/components/PieChartCard.tsx b/admin/src/views/admin/default/components/PieChartCard.tsx index 08bbc0b..05d3e05 100644 --- a/admin/src/views/admin/default/components/PieChartCard.tsx +++ b/admin/src/views/admin/default/components/PieChartCard.tsx @@ -19,7 +19,7 @@ const PieChartCard = () => {
-
+

Your Files

diff --git a/admin/src/views/admin/default/components/RevenueChart.tsx b/admin/src/views/admin/default/components/RevenueChart.tsx index 007ce5b..e633cfc 100644 --- a/admin/src/views/admin/default/components/RevenueChart.tsx +++ b/admin/src/views/admin/default/components/RevenueChart.tsx @@ -23,12 +23,14 @@ const RevenueChart = () => { const fetchData = async () => { try { const response = await axios.get( - `${process.env.REACT_APP_API_URL}/v1/rentals`, + `${process.env.REACT_APP_API_URL}rentals`, { withCredentials: true, } ); - + console.log("-response------------") + console.log(response) + console.log("-------------") const rentals: Rental[] = response.data; // Filter rentals from the last 30 days @@ -72,7 +74,7 @@ const RevenueChart = () => {

Revenue Chart

-
diff --git a/admin/src/views/admin/default/components/TaskCard.tsx b/admin/src/views/admin/default/components/TaskCard.tsx index d59a066..2f9b098 100644 --- a/admin/src/views/admin/default/components/TaskCard.tsx +++ b/admin/src/views/admin/default/components/TaskCard.tsx @@ -10,7 +10,7 @@ const TaskCard = () => {
- +

Tasks diff --git a/admin/src/views/admin/default/components/TopCustomers.tsx b/admin/src/views/admin/default/components/TopCustomers.tsx index bad5baa..28f2ed7 100644 --- a/admin/src/views/admin/default/components/TopCustomers.tsx +++ b/admin/src/views/admin/default/components/TopCustomers.tsx @@ -25,14 +25,18 @@ const TopCustomers = () => { const fetchData = async () => { try { const [rentalsResponse, usersResponse] = await Promise.all([ - axios.get(`${process.env.REACT_APP_API_URL}/v1/rentals`, { + axios.get(`${process.env.REACT_APP_API_URL}rentals`, { withCredentials: true, }), - axios.get(`${process.env.REACT_APP_API_URL}/v1/users`, { + axios.get(`${process.env.REACT_APP_API_URL}users`, { withCredentials: true, }), ]); - + console.log("-response------------") + console.log(usersResponse) + console.log("-response------------") + console.log(rentalsResponse) + console.log("-------------") const rentals: Rental[] = rentalsResponse.data; const users: User[] = usersResponse.data; @@ -74,7 +78,7 @@ const TopCustomers = () => {

Top Customers

-
diff --git a/admin/src/views/admin/default/components/TotalSpent.tsx b/admin/src/views/admin/default/components/TotalSpent.tsx index 9a8f415..1b57411 100644 --- a/admin/src/views/admin/default/components/TotalSpent.tsx +++ b/admin/src/views/admin/default/components/TotalSpent.tsx @@ -18,7 +18,7 @@ const TotalSpent = () => { This month -
diff --git a/admin/src/views/admin/default/components/WeeklyRevenue.tsx b/admin/src/views/admin/default/components/WeeklyRevenue.tsx index cf8acbf..96a5f2b 100644 --- a/admin/src/views/admin/default/components/WeeklyRevenue.tsx +++ b/admin/src/views/admin/default/components/WeeklyRevenue.tsx @@ -13,7 +13,7 @@ const WeeklyRevenue = () => {

Weekly Revenue

-
diff --git a/admin/src/views/admin/default/index.tsx b/admin/src/views/admin/default/index.tsx index 95a5edd..a7b98c8 100644 --- a/admin/src/views/admin/default/index.tsx +++ b/admin/src/views/admin/default/index.tsx @@ -25,16 +25,22 @@ const Dashboard = () => { useEffect(() => { const fetchData = async () => { try { - const urls = ["/v1/users", "/v1/parks", "/v1/bikes", "/v1/rentals"]; + const urls = ["users", "parks", "bikes", "rentals"]; const allRequests = urls.map((url) => fetch(process.env.REACT_APP_API_URL + url, { credentials: "include" }) ); + const responses = await Promise.all(allRequests); + console.log("-response------------") + console.log(responses) + console.log("-------------") const data = await Promise.all( responses.map((response) => response.json()) ); - + console.log("-response------------") + console.log(data) + console.log("-------------") setStats({ users: data[0], parks: data[1], diff --git a/admin/src/views/admin/park/index.tsx b/admin/src/views/admin/park/index.tsx index db8a55d..42b0f32 100644 --- a/admin/src/views/admin/park/index.tsx +++ b/admin/src/views/admin/park/index.tsx @@ -26,10 +26,16 @@ const Tables = () => { useEffect(() => { const fetchData = async () => { const response = await fetch( - `${process.env.REACT_APP_API_URL}/v1/parks`, + `${process.env.REACT_APP_API_URL}parks`, { credentials: "include" } ); + console.log("-response------------") + console.log(response) + console.log("-------------") const data = await response.json(); + console.log("-response------------") + console.log(data) + console.log("-------------") setTableData(data); }; diff --git a/admin/src/views/admin/rental/index.tsx b/admin/src/views/admin/rental/index.tsx index e4df9be..f0078f7 100644 --- a/admin/src/views/admin/rental/index.tsx +++ b/admin/src/views/admin/rental/index.tsx @@ -30,10 +30,16 @@ const Tables = () => { useEffect(() => { const fetchData = async () => { const response = await fetch( - `${process.env.REACT_APP_API_URL}/v1/rentals`, + `${process.env.REACT_APP_API_URL}rentals`, { credentials: "include" } ); + console.log("-response------------") + console.log(response) + console.log("-------------") const data = await response.json(); + console.log("-response------------") + console.log(data) + console.log("-------------") setTableData(data); }; diff --git a/admin/src/views/admin/user/components/AdminTable.tsx b/admin/src/views/admin/user/components/AdminTable.tsx index fb06c1b..8c71a0f 100644 --- a/admin/src/views/admin/user/components/AdminTable.tsx +++ b/admin/src/views/admin/user/components/AdminTable.tsx @@ -34,18 +34,18 @@ const AdminTable: React.FC = ({ Cell: header.id === "created_at" ? (cellInfo: { value: string }) => { - const date = new Date(cellInfo.value); - return ( -

- {date.toLocaleDateString()} -

- ); - } - : (cellInfo: { value: string }) => ( + const date = new Date(cellInfo.value); + return (

- {cellInfo.value} + {date.toLocaleDateString()}

- ), + ); + } + : (cellInfo: { value: string }) => ( +

+ {cellInfo.value} +

+ ), })), [tableHeader] ); @@ -85,12 +85,15 @@ const AdminTable: React.FC = ({ if (confirmDelete) { try { const response = await fetch( - `${process.env.REACT_APP_API_URL}/v1/${moduleName}s/${moduleName}/${row.id}`, + `${process.env.REACT_APP_API_URL}${moduleName}s/${moduleName}/${row.id}`, { method: "DELETE", credentials: "include", } ); + console.log("-response------------") + console.log(response) + console.log("-------------") if (!response.ok) { throw new Error("Network response was not ok"); } @@ -168,7 +171,6 @@ const AdminTable: React.FC = ({ -
+ {/*
Not registered yet? Create an account -
+
*/}
); diff --git a/api/.env.example b/api/.env.example index 5e817c9..71a7c42 100644 --- a/api/.env.example +++ b/api/.env.example @@ -8,7 +8,7 @@ DATABASE_URL_PROD=postgresql://bikehub:Bike-Hub@142.93.105.168:5432/bikehub?sche # JWT JWT_SIGNATURE=secret123456789 # CORS -CORS_ALLOW_URL=http://localhost:3000,http://34.175.134.108:*,http://142.93.105.168:*,https://localhost:3000,https://34.175.134.108:*,https://142.93.105.168:*,http://dev.bikehub.me,http://bikehub.me,https://dev.bikehub.me,https://bikehub.me +CORS_ALLOW_URL=http://localhost:3001,https://localhost:3001,,http://localhost:3000,http://34.175.134.108:*,http://142.93.105.168:*,https://localhost:3000,https://34.175.134.108:*,https://142.93.105.168:*,http://dev.bikehub.me,http://bikehub.me,https://dev.bikehub.me,https://bikehub.me # API API_PORT=3300 # BASE URL