Welcome to the Frontend part of NavDesk. This is a Co-Working App project providing interactive and user-friendly interfaces to access "Las Naves" facility in Valencia!
- About the project
- Deploy
- Stack
- Clone
- Views
- Future functionalities
- Contribution
- Web refferences
- Development
- Appreciation
- Contact
This project provides a rich front-end application built with React, TypeScript, Vite, and MUI. It interfaces with the NavDesk backend server to manage access and administration within a co-working space. Users can register, log in, view rooms, make bookings, and admins have additional functionalities like managing room assignments and viewing extensive reports. For admins there is a special part where reports can be obtained and as well detailed history for bookings, users and rooms.
Used technologies for the project:
- Authentication (Login/Signup)
- Responsive layout optimized for multiple device sizes
- Booking management for rooms
- Admin specific views:
- Room management
- User management
Make sure you have the REST API which can be found here - https://github.com/yoanastamenova/NavDesk--back
- Before starting it is important to have SQL and MySQLWorkbench installed locally in order to work with the database. If you dont have it or simply prefer to use a Docker configuration please follow the steps bellow and then you can continue with the clone.
-1- Create docker SQL Image
docker build -t mssql-app
-2- Create a SQL containerdocker run -d --name mssql-container -p 3306:3306 mssql-app
-3- Run Docker Desktop App and run the container from there
- Clone the repository from the url
$ npm install
(to get all the node packages)- Connect the cloned repo with our Database (if you dont have docker make a mysql container and run it on the wanted port such as:
docker run -d --name mysqlc -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v mysql_data:/var/lib/mysql mysql
) - Change variables in .env with the PORT given from Docker (default is 3306)
$ npm run migrations
$ npm run db:seed
$ npm run db:refresh
to execute everything from the beginning$ npm run dev
to run our server
- Home view
✅ Add calendar view
⬜ Add confirmation via email
⬜ StartUp and old users validations
Feel free to suggest an improvment or functionality to my project.
There are two ways of doing this:
- Opening an issue
- Creating a fork of the repository
- Creating a new branch
$ git checkout -b feature/yourUsername -feat
- Make a commit with your changes
$ git commit -m 'feat: this X thing'
- Make a push to the branch
$ git push origin feature/yourUsername -feat
- Opening a Pull Request
- Creating a new branch
To achieve my project I used data from the following sites:
- google.com
- pinterest.com
- spacebring.com
- ...
const developer = "yoanastamenova";
console.log("Developed by: " + developer);