Skip to content

This is a full-stack web application for Illusia ry, developed as part of a team project at Business College Helsinki. The application allows users to browse, book, and manage storage items while providing admins with tools to manage inventory, user accounts, and bookings.

License

Notifications You must be signed in to change notification settings

con2/FullStack_Storage_and_Booking_App

Repository files navigation

FullStack Storage & Booking Application

A comprehensive platform for managing and booking storage items across multiple locations. This application allows users to browse available storage options, make reservations, and manage their bookings through an intuitive interface.

License

Features

  • Item Management: Browse and book storage items with real-time availability
  • User Authentication: Secure login with role-based access control
  • Multi-language Support: Complete English and Finnish localization
  • Admin Dashboard: Comprehensive tools for inventory and order management
  • Responsive Design: Seamless experience across desktop and mobile devices

Tech Stack

Frontend

  • React 18 with TypeScript for type-safe component development
  • Vite for fast development and optimized builds
  • Redux Toolkit for centralized state management
  • UI Components: Shadcn/UI with Tailwind CSS for styling
  • Axios for API requests with automatic authentication
  • React Router for client-side routing
  • Cypress for end-to-end testing

Backend

  • NestJS for robust, modular API development
  • TypeScript for type safety across the application
  • Supabase for PostgreSQL database, authentication and storage
  • Row-Level Security for fine-grained data access control
  • Email Integration with nodemailer and React Email templates

Documentation

Comprehensive documentation is available in the docs directory:

Frontend Documentation

Backend Documentation

Workflow Documentation

Prerequisites

  • Node.js: v18 or higher
  • npm: Comes with Node.js
  • Supabase Account: Free tier works for development
  • Azure Account: For deployment (we use student account)

Quick Start

  1. Clone the repository:
git clone https://github.com/Ermegilius/FullStack_Storage_and_Booking_App.git
cd FullStack_Storage_and_Booking_App
  1. Install dependencies:
npm run install-all
  1. Set up environment variables:
cp .env.local
# Edit .env.local with your credentials
  1. Run the application:
npm run dev
  1. Access the application:

Project Structure

FullStack_Storage_and_Booking_App/
├── backend/                # NestJS application
│   ├── src/                # Source code
│   └── dbSetStatements/    # Database setup SQL
├── frontend/               # React application
│   └── src/                # Source code
└── docs/                   # Documentation
    └── developers/         # Developer guides

For a more detailed breakdown, see the Project Structure documentation.

Development Workflow

We follow a Git Flow-inspired branching strategy:

  • main: Production-ready code
  • develop: Integration branch
  • feature/*: For new features
  • deployment: For deployment configuration

See the Development Cycle guide for details.

Contributing

Contributions are welcome! Please read our Contribution Guide before submitting changes.

License

This project is licensed under the FullStack Storage and Booking App Non-Commercial License v1.0.
See the LICENSE file for details.

Commercial use is prohibited without a separate agreement.
To request permission for commercial use or to contact the team, please open an issue or reach out via our GitHub organization page: [email protected]

About

This is a full-stack web application for Illusia ry, developed as part of a team project at Business College Helsinki. The application allows users to browse, book, and manage storage items while providing admins with tools to manage inventory, user accounts, and bookings.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7

Languages