Welcome to the Nexus Reserve
, a platform designed to simplify and streamline the process of booking meeting rooms in co-working spaces. This system provides an intuitive user interface for both users and administrators, ensuring a seamless experience from booking to management.
- User-Friendly Interface: Create an intuitive and easy-to-navigate interface for users to search, view, and book meeting rooms.
- Efficient Room Management: Allow administrators to
manage rooms
,time slots
, andbookings
effectively with real-time updates. - Secure Transactions: Implement secure payment processing and user authentication to protect sensitive information.
- Responsive Design: Ensure the application is fully responsive and functional across different devices and screen sizes.
- Homepage: A visually appealing entry with easy navigation to explore featured rooms and services.
- Meeting Rooms Page: Detailed listings of available rooms with search, filter, and sorting options to find the perfect space.
- Booking Process: A user-friendly form for selecting dates, times, and booking details, with secure payment integration.
- About Us and Contact Us Pages: Insightful information about our mission and team, along with an easy-to-use contact form for inquiries.
For Users:
- Browse and Book Rooms: Users can easily search for
available meeting rooms
,view detailed information
, andbook spaces
that fit their needs. - Real-Time Availability: View up-to-date availability to avoid scheduling conflicts and make informed decisions.
- Streamlined Booking Process: Select dates and times, complete the booking, and make secure payments with ease.
For Administrators:
- Room Management: Admins can add, update, or delete rooms,
manage availability slots
, andmonitor bookings
through a comprehensive dashboard. - Booking Oversight: Approve, reject, or modify bookings, and manage booking statuses efficiently.
- Real-Time Updates: Ensure all changes are reflected immediately to maintain accurate records.
-
Enhance User Experience: Provide an intuitive and seamless booking process with real-time room availability.
-
Streamline Room Management: Equip admins with efficient tools for managing rooms and bookings, ensuring accuracy with real-time updates.
-
Ensure Secure Transactions: Protect user data and payment information with secure processing and reliable payment gateways.
-
Promote Flexibility: Allow 24/7 access for room bookings with customizable options to meet various needs.
-
Support Administrative Efficiency: Offer a comprehensive admin dashboard with reporting and analytics to optimize management.
- Debounce API Calls: Efficient search functionality.
- Scroll to Top Button: Allowing users to quickly return to the top of the page.
- Payment Integration: Secure payment processing.
- Pagination: Custom pagination on the Rooms page.
- Frontend:
React
withVite
for building an interactive and high-performance user interface. - Backend:
Node.js
andExpress.js
for building a robust server-side application. - State Management:
Redux
andRTK Query
for managing application state and server data efficiently. - Database:
MongoDB
withMongoose
for efficient data storage and retrieval. - Authentication:
JSON Web Tokens (JWT)
for secure user authentication and authorization. - Validation:
Zod
for schema validation and ensuring data integrity. - TypeScript: Enhancing codebase maintainability and scalability with statically typed
JavaScript
.
- Node.js
- MongoDB
- Yarn or npm
-
Clone the repository:
git clone https://github.com/nirjhorsaha/nexus-reserve.git cd nexus-reserve
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Build the project for production:
npm run build
-
Clone the repository:
git clone https://github.com/nirjhorsaha/nexus-reserve-server.git cd nexus-reserve-server
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Environment Variables: Ensure the
.env
file has the correct API URL:VITE_API_URL=http://localhost:5000/api
-
Environment Variables: Ensure the
.env
file has the correct configuration:PORT=5000 DB_URL=your_mongodb_connection_uri JWT_SECRET=your_jwt_secret
Once the development server is running, you can access the frontend at http://localhost:5000
. Navigate through the website to explore different pages and features.
With the backend server running, it will listen on the port specified in the .env
file. Use the API endpoints to interact with the database and perform CRUD operations.
Contributions are welcome.! If you'd like to contribute to this project, please follow these steps:
- Fork the repository.
- Create your feature branch:
git checkout -b feature-name
. - Commit your changes:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature-name
. - Submit a pull request.