Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Final Project - Sunside Hotel & Conference #43

Open
wants to merge 190 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 188 commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
078dfbf
file structure
jingh999 May 27, 2024
abc76d2
folders
jingh999 May 27, 2024
baf90f5
Nav bar + hero video added
lunek1 May 28, 2024
4aef145
add htm and style for News letter, Find us and contact sections
May 28, 2024
614b9a4
add list and responsiveness, not finish
May 28, 2024
99e130d
homepage
jingh999 May 29, 2024
8108f27
Added font in html instead of css
lunek1 May 29, 2024
f22be66
Added font to text overlay
lunek1 May 29, 2024
6e460b4
Update Nav.jsx
lunek1 May 29, 2024
2d7cb9d
Merge pull request #1 from lunek1/Nav
jingh999 May 29, 2024
c832e32
Merge branch 'main' into jing-homepage
jingh999 May 29, 2024
6ef2caa
Merge pull request #2 from jingh999/jing-homepage
jingh999 May 29, 2024
91458e5
footer responsiveness and styling done and working
May 29, 2024
6b96aff
combine components
jingh999 May 29, 2024
56d6d4f
Merge branch 'main' into FOOTER
jingh999 May 29, 2024
865bc71
Merge pull request #3 from vidalhuix/FOOTER
jingh999 May 29, 2024
3dd12d3
footer position relative
jingh999 May 29, 2024
d63cd6d
add some changes
May 29, 2024
788430e
responsiveness and booking container
jingh999 May 30, 2024
71e85ed
add style to the caorusell
May 31, 2024
4e3fdab
Style
jingh999 May 31, 2024
e789d25
Merge pull request #4 from jingh999/responsive-and-booking-style
jingh999 May 31, 2024
46ad795
add styling and text description to the events, images still not matc…
May 31, 2024
1ecd4c3
add styling and text description to the events, images still not matc…
May 31, 2024
0b25787
Merge branch 'main' into FOOTER
jingh999 May 31, 2024
7ef8631
Merge pull request #5 from vidalhuix/FOOTER
jingh999 May 31, 2024
c1a40ee
hotel data
jingh999 May 31, 2024
e8ffca0
Merge pull request #6 from jingh999/backend-hotel
jingh999 May 31, 2024
a9377a1
Modified vite
lunek1 May 31, 2024
221f4a6
hotel backend
jingh999 May 31, 2024
7fd857b
Merge pull request #7 from jingh999/Hotel-API
jingh999 May 31, 2024
dd64eb8
Merge branch 'jingh999:main' into main
lunek1 May 31, 2024
e4fc29b
changed Restaurant section to Review. Add reviews and style.
Jun 2, 2024
54570b6
add read more button
Jun 2, 2024
16830c6
add BackToTopButton code and style
Jun 2, 2024
60c3f6a
add Reviews title
Jun 3, 2024
6cbfed9
Merge pull request #8 from vidalhuix/Reviews
jingh999 Jun 3, 2024
5d42bc3
responsive and hotel availability
jingh999 Jun 3, 2024
2dca74a
Merge pull request #9 from jingh999/Responsive
jingh999 Jun 3, 2024
c1418d7
Login and register page created
lunek1 Jun 3, 2024
81a5e7a
Merge branch 'jingh999:main' into Nav
lunek1 Jun 3, 2024
9b1db69
Updated App.jsx for Login & Register
lunek1 Jun 3, 2024
4c647e7
Merge branch 'Nav' of https://github.com/lunek1/w17-project-final int…
lunek1 Jun 3, 2024
97d6148
Merge pull request #10 from lunek1/Nav
jingh999 Jun 3, 2024
255c792
Updated nav with new changes
lunek1 Jun 3, 2024
17e5b5c
Merge pull request #11 from lunek1/Nav
jingh999 Jun 3, 2024
d6763f1
edit
jingh999 Jun 3, 2024
78b22eb
Merge branch 'main' into edit
jingh999 Jun 3, 2024
ee2c5d3
Merge pull request #12 from jingh999/edit
jingh999 Jun 3, 2024
f25f8e1
edit booking and hero components
jingh999 Jun 3, 2024
e64e6c4
Merge pull request #13 from jingh999/style
jingh999 Jun 3, 2024
f23e251
add styling to the carrusel and push
Jun 3, 2024
5342a0d
add styling to the carrusel and push
Jun 3, 2024
4bc945e
add netlify.toml
Jun 3, 2024
a25feb2
netlify
jingh999 Jun 3, 2024
c308160
image path
jingh999 Jun 4, 2024
41fcf0e
image path
jingh999 Jun 4, 2024
f1f123b
image path
jingh999 Jun 4, 2024
289e613
Merge branch 'jingh999:main' into main
lunek1 Jun 4, 2024
2039de7
clear files and create hotelrooms page
jingh999 Jun 4, 2024
fce08a1
Merge branch 'jingh999:main' into main
lunek1 Jun 4, 2024
03b9d27
hotelrooms page connect
jingh999 Jun 4, 2024
37c7dc7
Merge branch 'jingh999:main' into main
lunek1 Jun 4, 2024
bff3c0b
save Roomspage. Add images, grid styling and it's responsive :D
Jun 4, 2024
9b12961
add ScrollToTop component on App.jsx under <Router>
Jun 4, 2024
e8321da
Room status database
jingh999 Jun 5, 2024
a714d5e
Merge pull request #15 from jingh999/Data-model-for-room-status
jingh999 Jun 5, 2024
da21414
endpoint
jingh999 Jun 5, 2024
7e61fd3
Merge pull request #14 from vidalhuix/Reviews
jingh999 Jun 5, 2024
0edbce8
Merge branch 'jingh999:main' into main
lunek1 Jun 5, 2024
51f3359
add room component
Jun 5, 2024
dd5b63d
removed RoomDetails component
Jun 5, 2024
ceb5299
Log in, register, delete user added
lunek1 Jun 5, 2024
1d5b8c5
Merge pull request #16 from lunek1/main
jingh999 Jun 5, 2024
9b0b5e0
get available rooms data by data and guest amount
jingh999 Jun 5, 2024
2107841
Merge pull request #17 from jingh999/booking-endpoint
jingh999 Jun 5, 2024
c0d15cb
add carrusel on room images
Jun 6, 2024
a7d0b4f
add description and read more button
Jun 6, 2024
70be993
Login works, userpage created but needs backend
lunek1 Jun 7, 2024
166352a
connect Roomspage to API (not the images), add loading spinner
Jun 7, 2024
5a6c256
searching available rooms function frontend
jingh999 Jun 7, 2024
6a98e87
Merge pull request #18 from lunek1/main
jingh999 Jun 7, 2024
1d3b989
Merge branch 'main' into jing
jingh999 Jun 7, 2024
0e4bcbb
Merge pull request #20 from jingh999/jing
jingh999 Jun 7, 2024
8956d6b
units edit
jingh999 Jun 7, 2024
47497e1
booking page frontend
jingh999 Jun 7, 2024
e14b2d9
Merge pull request #21 from jingh999/hotel-data
jingh999 Jun 7, 2024
be89621
made AboutUs component
Jun 7, 2024
6e4494c
change some styling on Footer and About
Jun 10, 2024
ddc13f9
Frontend register connected to backend
lunek1 Jun 10, 2024
a91eb26
Merge pull request #22 from lunek1/main
jingh999 Jun 10, 2024
d3c0bb7
date input
jingh999 Jun 10, 2024
00de1a5
resolve PR issues
Jun 10, 2024
f6e3f84
Merge pull request #19 from jingh999/Reviews
jingh999 Jun 10, 2024
04feaab
Merge pull request #23 from jingh999/final-week---booking-system
jingh999 Jun 10, 2024
4d858dc
merged main to Arnau
Jun 10, 2024
354ea50
Merge branch 'main' into Arnau
vidalhuix Jun 10, 2024
a154dad
save changes before changing branch
Jun 10, 2024
64cf7f4
trap in a merge situation
Jun 10, 2024
4202e27
delete repeated booking section
Jun 10, 2024
0fdace6
Add check room availability endpoint
jingh999 Jun 10, 2024
b083822
Merge pull request #25 from jingh999/check-room-availability
jingh999 Jun 10, 2024
f280972
Check room availability and if so redirect to login page
jingh999 Jun 10, 2024
64fb501
Merge pull request #26 from jingh999/feat/handle-booking
jingh999 Jun 10, 2024
35c40fd
Merge pull request #24 from jingh999/Arnau
jingh999 Jun 11, 2024
7396536
bookingSection
jingh999 Jun 11, 2024
6225bf3
Userpage fetching from endpoint, delete user works
lunek1 Jun 11, 2024
fc4cd8b
Page to confirm the bookin and register
jingh999 Jun 11, 2024
e69b2d1
Merge pull request #27 from lunek1/main
jingh999 Jun 11, 2024
9b9795f
Merge branch 'main' into Book-confirming-and-register-page
jingh999 Jun 11, 2024
7d1b22f
Merge pull request #28 from jingh999/Book-confirming-and-register-page
jingh999 Jun 11, 2024
8d34096
logo on booking confirm page
jingh999 Jun 11, 2024
18beb07
set check-out date start value and pass the guest value to the confir…
jingh999 Jun 11, 2024
f48c2bb
Merge pull request #29 from jingh999/check-out-start-date-and-guest-v…
jingh999 Jun 11, 2024
a9f81f8
save last changes, hash link working and created a separated componen…
Jun 11, 2024
e0258b5
Merge branch 'main' of https://github.com/jingh999/w17-project-final
Jun 11, 2024
5007aa9
I had to commit something to be able to change branch
Jun 11, 2024
8b7bcd1
add changes to About and created Conference & Event page
Jun 11, 2024
c9ef95c
add changes to About and created Conference & Event page
Jun 11, 2024
b58c2bc
text color
jingh999 Jun 12, 2024
c04fe33
Merge pull request #30 from jingh999/jing-text-color
jingh999 Jun 12, 2024
18fe14c
changed Roomspage removed fetch from API and add data from FE
Jun 12, 2024
15fe814
Cleaned up UserPage.jsx
lunek1 Jun 12, 2024
052832f
Responsiveness - pages of bookingrooms and bookingconfirm
jingh999 Jun 12, 2024
4deec19
Merge pull request #31 from jingh999/jing--responsiveness
jingh999 Jun 12, 2024
b12436d
responsive
jingh999 Jun 12, 2024
16e6d14
room-image
jingh999 Jun 12, 2024
e6d9a11
Bookinginfo show up on userpage but is not saved
lunek1 Jun 12, 2024
e293ce1
Removed comments, changed BookingContext
lunek1 Jun 12, 2024
9e59557
Removed comment
lunek1 Jun 12, 2024
83d7a1f
Merge branch 'main' of https://github.com/lunek1/w17-project-final
lunek1 Jun 12, 2024
2bb1207
Merge pull request #32 from lunek1/main
jingh999 Jun 12, 2024
4235a53
add animation styling to the pages
Jun 12, 2024
a5434ee
create booking endpoint and edit the responsiveness of userpage
jingh999 Jun 12, 2024
5181e44
Merge pull request #34 from jingh999/bookingpoint-and-responsiveness
jingh999 Jun 12, 2024
073771e
Confirm booking on user register
jingh999 Jun 12, 2024
8c562a3
Merge pull request #35 from jingh999/feat/create-booking-on-register
jingh999 Jun 12, 2024
26dd0ba
Add get user bookings endpoint
jingh999 Jun 12, 2024
4ea1d52
Merge pull request #36 from jingh999/feat/get-user-booking-endpoint
jingh999 Jun 12, 2024
44b5ffb
Authenticate user for get user bookings endpoint
jingh999 Jun 12, 2024
1eb4e13
Merge pull request #37 from jingh999/feat/show-booking-info-on-user-page
jingh999 Jun 12, 2024
3a7a9ba
Show user bookings on user page
jingh999 Jun 12, 2024
28a240f
Merge branch 'main' into Arnau
jingh999 Jun 12, 2024
8569e90
solve conflicts
jingh999 Jun 12, 2024
afa9c4b
Merge pull request #33 from jingh999/Arnau
jingh999 Jun 12, 2024
57ba0aa
Merge app-new into app
jingh999 Jun 12, 2024
6893a45
Merge pull request #38 from jingh999/fix/conflicts-and-remove-app-new
jingh999 Jun 12, 2024
73bac05
Edit mainpage and App components
jingh999 Jun 13, 2024
33d817e
Merge pull request #39 from jingh999/Mainpage-and-App-component
jingh999 Jun 13, 2024
a88633b
new endpoint for changing status. Log in page to pass the booking det…
jingh999 Jun 13, 2024
2efb9c7
image
jingh999 Jun 13, 2024
8589890
footer and hero text
jingh999 Jun 13, 2024
9f87e9b
Merge pull request #40 from jingh999/backend-and-frontend
jingh999 Jun 13, 2024
bc1b860
frontend on userpage
jingh999 Jun 13, 2024
c59b5f2
styling
jingh999 Jun 13, 2024
4b75281
Merge pull request #41 from jingh999/backend-and-frontend
jingh999 Jun 13, 2024
6c8e464
connect booking and log-in
jingh999 Jun 13, 2024
d876f3f
Merge pull request #42 from jingh999/backend-and-frontend
jingh999 Jun 13, 2024
389c2e8
image path
jingh999 Jun 13, 2024
fb11549
images paths
jingh999 Jun 13, 2024
7b29ec5
Updated some font-sizes, removed booking-context
lunek1 Jun 13, 2024
028c645
Merge branch 'main' of https://github.com/lunek1/w17-project-final
lunek1 Jun 13, 2024
8411fcc
Changed max chars in email and name
lunek1 Jun 13, 2024
356e042
Router path case-sensitive
jingh999 Jun 13, 2024
7ef949a
test for deploy link
jingh999 Jun 13, 2024
f3d31fb
Responsiveness header for login, register, user
lunek1 Jun 13, 2024
7cf9d8c
Merge branch 'jingh999:main' into main
lunek1 Jun 13, 2024
f6dabe5
Merge pull request #43 from lunek1/main
jingh999 Jun 13, 2024
f2fb4d9
fix responsiveness to mobile screens on pages
Jun 13, 2024
4ff8d7e
Merge branch 'main' into Responsiveness
jingh999 Jun 13, 2024
7610afd
Merge pull request #44 from jingh999/Responsiveness
jingh999 Jun 13, 2024
5009e0e
add readme
Jun 13, 2024
2f4895a
Add back deleted codes. Clear bookingDetails on login when booking is…
jingh999 Jun 13, 2024
4a06a90
improved accessibility on main pages, still really poor performance
Jun 13, 2024
5ec2f5d
backend for changing room status after booking or cancel
jingh999 Jun 13, 2024
46951d5
Fix a 404 response data
jingh999 Jun 13, 2024
1348037
change room status after booking successfully and make the room unava…
jingh999 Jun 13, 2024
0e13b02
deploy test
jingh999 Jun 14, 2024
233fe06
Accessibility front page fixed
lunek1 Jun 16, 2024
2f31a3d
Merge pull request #45 from lunek1/main
jingh999 Jun 16, 2024
48f7e40
Merge branch 'main' into Accessivility
jingh999 Jun 21, 2024
2142e80
Merge pull request #46 from jingh999/Accessivility
jingh999 Jun 21, 2024
fae70f7
Update README.md
jingh999 Jun 23, 2024
f6a3c14
edit after review
jingh999 Jun 23, 2024
65deaa5
accessibility
jingh999 Jun 23, 2024
60add4a
backend and frontend for cancelling a booking
jingh999 Jun 23, 2024
527b9e7
cancel a booking
jingh999 Jun 23, 2024
4099444
frontend of cancel a booking
jingh999 Jun 23, 2024
4d63110
uppgraded accesibility on main pages
Jul 9, 2024
eeeeff0
aria-label=merged and push improved main pages
Jul 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
# Final Project

Replace this readme with your own information about your project.

Start by briefly describing the assignment in a sentence or two. Keep it short and to the point.
This full-stack application, is the last project at Technigo' Spring 2024 Web Development Bootcamp,
this is a realistic simulation of an imaginary hotel.
It enables users to book one of the available rooms based on their selected arrival and departure dates.
To complete a booking, users must register or log in if they already have an account.
Once logged in, users can view their registered bookings and delete their accounts if desired.

## The problem

Describe how you approached to problem, and what tools and techniques you used to solve it. How did you plan? What technologies did you use? If you had more time, what would be next?
Although we have learned a lot during the boot camp, we are still fairly junior developers. This final project has been a valuable challenge, allowing us to demonstrate the new skills and work methodologies we have acquired in web development. We still have much room to grow, both on the frontend and especially on the backend, where the logic and code can be particularly challenging when the results are not immediately visible.
Even though we are really proud and happy of what we have achived on this last three weeks.

## View it live

Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about.
Frontend [here](https://sunside-hotel.netlify.app/)

Backend [here](https://sunside-hotel.onrender.com/)
1 change: 1 addition & 0 deletions backend/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
RESET_DB=1
52 changes: 51 additions & 1 deletion backend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,54 @@ This project includes the packages and babel setup for an express server, and is
## Getting Started

1. Install the required dependencies using `npm install`.
2. Start the development server using `npm run dev`.
2. Start the development server using `npm run dev`.

## Generate the room-status array

```
const createRoomStatusArray = async() => {
function generateDateArray(startDateStr, endDateStr) {
const startDate = new Date(startDateStr);
const endDate = new Date(endDateStr);
const dateArray = [];

for (let date = startDate; date <= endDate; date.setDate(date.getDate() + 1)) {
dateArray.push(new Date(date)); // Ensure each date is a new instance
}

return dateArray;
}

// Generate dates from 2024-06-01 to 2025-06-01
const startDate = "2024-06-05";
const endDate = "2025-06-05";
const dates = generateDateArray(startDate, endDate);

// Array to hold the room and date combinations
const roomDateArray = [];

// Loop over roomIds
for (let roomId = 1; roomId <= 7; roomId++) {
// Loop over dates
for (let date of dates) {
roomDateArray.push({ roomId: roomId, date: new Date(date), status: 1 });
}
}

const fs = require('fs');

// Convert roomDateArray to a JSON string
const jsonContent = JSON.stringify(roomDateArray, null, 2);

// Write JSON string to a file
fs.writeFile('data/room-status.json', jsonContent, (err) => {
if (err) {
console.error('Error writing file:', err);
} else {
console.log('File has been saved.');
}
});
}

createRoomStatusArray();
```
72 changes: 72 additions & 0 deletions backend/data/hotel-room.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
[
{
"id": 1,
"type": "Standard",
"price": "110",
"size": "28",
"capacity": 2,
"description": "Give life a little more space. Take a break from everyday life and let time stand still for a while. Our luxury room has a scandinavian romantic interior style. With fragile lace, porcelain figurines and details.",
"image": "https://cdn.prod.website-files.com/643cf9faa943e87284f8e158/647497d164ba3f4c6f2dd068_Herrgardsrum_Sastaholm-%20(4)-min.jpg",
"facilities": ["Free WiFi", "Air Conditioning", "Flat Screen TV", "Minibar"]
},
{
"id": 2,
"type": "Standard",
"price": "110",
"size": "28",
"capacity": 2,
"description": "Give life a little more space. Take a break from everyday life and let time stand still for a while. Our luxury room has a scandinavian romantic interior style. With fragile lace, porcelain figurines and details.",
"image": "https://assets-global.website-files.com/643cf9faa943e87284f8e158/6474a083eba0f5b34d6e3c6a_Standardrum_Sastaholm-%20(2)-min.jpg",
"facilities": ["Free WiFi", "Air Conditioning", "Flat Screen TV", "Minibar"]
},
{
"id": 3,
"type": "Standard",
"price": "110",
"size": "28",
"capacity": 2,
"description": "Give life a little more space. Take a break from everyday life and let time stand still for a while. Our luxury room has a scandinavian romantic interior style. With fragile lace, porcelain figurines and details.",
"image": "https://assets-global.website-files.com/643cf9faa943e87284f8e158/6474a083eba0f5b34d6e3c6a_Standardrum_Sastaholm-%20(2)-min.jpg",
"facilities": ["Free WiFi", "Air Conditioning", "Flat Screen TV", "Minibar"]
},
{
"id": 4,
"type": "Standard",
"price": "110",
"size": "28",
"capacity": 2,
"description": "Give life a little more space. Take a break from everyday life and let time stand still for a while. Our luxury room has a scandinavian romantic interior style. With fragile lace, porcelain figurines and details.",
"image": "https://assets-global.website-files.com/643cf9faa943e87284f8e158/6474a083eba0f5b34d6e3c6a_Standardrum_Sastaholm-%20(2)-min.jpg",
"facilities": ["Free WiFi", "Air Conditioning", "Flat Screen TV", "Minibar"]
},
{
"id": 5,
"type": "Luxury",
"price": "150",
"size": "37",
"capacity": 2,
"description": "Art deco-inspired rooms with fitted fabrics, wallpaper in period colours, sober lighting and fully tiled bathrooms. Of course you will find a comfortable workplace in these rooms, sometimes you also have to do your must dos.",
"image": "https://assets-global.website-files.com/643cf9faa943e87284f8e158/64770379e9280adf60424fa9_Juniorsvit_Shima_Niavarani_Sastaholm-%20(3)-min.jpg",
"facilities": ["Free WiFi", "Air Conditioning", "Flat Screen TV", "Minibar", "Working table"]
},
{
"id": 6,
"type": "Luxury",
"price": "150",
"size": "37",
"capacity": 2,
"description": "Art deco-inspired rooms with fitted fabrics, wallpaper in period colours, sober lighting and fully tiled bathrooms. Of course you will find a comfortable workplace in these rooms, sometimes you also have to do your must dos.",
"image": "https://assets-global.website-files.com/643cf9faa943e87284f8e158/64770379e9280adf60424fa9_Juniorsvit_Shima_Niavarani_Sastaholm-%20(3)-min.jpg",
"facilities": ["Free WiFi", "Air Conditioning", "Flat Screen TV", "Minibar", "Working table"]
},
{
"id": 7,
"type": "Premium Suite",
"price": "180",
"size": "64",
"capacity": 4,
"description": "In our suites you live extra comfortably with a separate bedroom and a living room. All suites have a double bed and sofa bed which can accommodate three adults or two adults and two children. Perfect when you want to stay with the whole family.",
"image": "https://assets-global.website-files.com/643cf9faa943e87284f8e158/6474bd14e98ef21fd5ab2925_Svit_Elin_Rombo_Sastaholm-%20(5)-min.jpg",
"facilities": ["Free WiFi", "Air Conditioning", "Flat Screen TV", "Minibar", "Working table", "Jacuzzi", "Balcony"]
}
]
Loading