Skip to content

A platform that facilitates easy booking of meeting rooms in co-working spaces.

Notifications You must be signed in to change notification settings

nirjhorsaha/nexus-reserve

Repository files navigation

Nexus Reserve

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.

Table of Contents

Key Objectives

  • 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, and bookings 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.

Features

  • 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, and book 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, and monitor 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.

Purpose and Goals

  1. Enhance User Experience: Provide an intuitive and seamless booking process with real-time room availability.

  2. Streamline Room Management: Equip admins with efficient tools for managing rooms and bookings, ensuring accuracy with real-time updates.

  3. Ensure Secure Transactions: Protect user data and payment information with secure processing and reliable payment gateways.

  4. Promote Flexibility: Allow 24/7 access for room bookings with customizable options to meet various needs.

  5. Support Administrative Efficiency: Offer a comprehensive admin dashboard with reporting and analytics to optimize management.

Others Features

  • 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.

Technology Stack

  • Frontend: React with Vite for building an interactive and high-performance user interface.
  • Backend: Node.js and Express.js for building a robust server-side application.
  • State Management: Redux and RTK Query for managing application state and server data efficiently.
  • Database: MongoDB with Mongoose 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.

Installation Guideline

Prerequisites

  • Node.js
  • MongoDB
  • Yarn or npm

Frontend Installation

  1. Clone the repository:

    git clone https://github.com/nirjhorsaha/nexus-reserve.git
    cd nexus-reserve
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev
  4. Build the project for production:

    npm run build

Backend Installation

  1. Clone the repository:

    git clone https://github.com/nirjhorsaha/nexus-reserve-server.git
    cd nexus-reserve-server
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev

Configuration

Frontend

  1. Environment Variables: Ensure the .env file has the correct API URL:

    VITE_API_URL=http://localhost:5000/api

Backend

  1. Environment Variables: Ensure the .env file has the correct configuration:

    PORT=5000
    DB_URL=your_mongodb_connection_uri
    JWT_SECRET=your_jwt_secret

Usage

Frontend

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.

Backend

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.

Contributing

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.

About

A platform that facilitates easy booking of meeting rooms in co-working spaces.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published