Skip to content

nghuuquyen/241DCSECSB35050001-GROUP4

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chill out: The Super Luxury Funiture Online Shop

Overview

Welcome to Chill out, your destination for premium, high-end furniture. We offer a curated selection of luxurious pieces designed to enhance the elegance and comfort of your home. Enjoy a seamless shopping experience with our exquisite collection.

GitHub Repository


URL: Final Advanced Project ChillOut

This project contains the backend (Laravel with PostgreSQL) and frontend (Nuxt 3) for the Final Advanced Project of the Chillout team.

Technologies

Backend

  • Laravel: A robust PHP framework for building scalable, secure, and high-performance web applications, offering tools for routing, database migrations, and templating.
  • Eloquent ORM: Laravel's built-in Object-Relational Mapping (ORM) that provides an elegant and intuitive way to interact with the database, supporting relationships, query building, and model management.
  • Sanctum: A Laravel package for managing API authentication and single-page application (SPA) tokens with simplicity and security.
  • Pulse: A Laravel tool for monitoring application health and performance, providing insights into metrics, errors, and system statuses.
  • Scout: A Laravel package for adding full-text search functionality to models, supporting integration with search engines like Algolia or Elasticsearch.
  • Sentry: A real-time error tracking and monitoring tool that helps developers identify and fix issues in applications, integrated seamlessly with Laravel.
  • Scramble: A Laravel utility for generating API documentation dynamically, helping developers create clear and structured documentation directly from their codebase.
  • Meilisearch: A fast and modern search engine that integrates easily with Laravel through Scout, providing features like typo tolerance, relevance ranking, and instant search capabilities.
  • Telescope: A debugging and monitoring tool for Laravel applications, providing insights into requests, jobs, exceptions, logs, and more, tailored for developers to enhance productivity.
  • Slack Webhook: A Laravel feature for sending notifications and alerts to Slack channels, enabling real-time communication about application events, errors, or system updates.
  • Laravel Dusk: A browser automation testing tool for simulating user interactions and performing end-to-end tests in a Laravel application.
  • Laravel Sail:A lightweight command-line interface for interacting with Docker, providing a simple way to set up and manage a development environment for Laravel applications using Docker containers.

Frontend

  • Nuxt.js: A framework for building server-side rendered Vue.js applications.
  • Vue.js: The progressive JavaScript framework for building user interfaces.
  • Pinia: A state management library for Vue.
  • Tailwind CSS: A utility-first CSS framework for rapid UI development.
  • PrimeVue: A rich set of UI components for Vue.
  • Material Design Icons: A collection of free-to-use, community-driven icons.
  • SweetAlert2: A beautiful, responsive, customizable, and accessible replacement for JavaScript's popup boxes.
  • Lodash: A modern JavaScript utility library delivering modularity, performance, and extras.
  • Axios: A JavaScript library for making HTTP requests, offering a simple API with support for Promises, JSON data handling, request cancellation, and easy configuration.

Detail of the project

Prerequisites

Before running this project, ensure you have the following installed:

Project Flow

Here is our Project Flow Chart:

Flow Chart

Click here to download the Flow Chart

Setup Instructions

There are 2 ways to run the project, and there are 2 branches corresponding to these 2 ways:

1. Use Docker Container for backend and local environment for frontend:


We use Laravel Sail to Dockerize the entire Laravel backend, which isolates the development environment, independent of the local machine's environment. It integrates and communicates with other services (PgSQL, Redis, Meilisearch, etc.) through the Docker network, providing a standardized development environment for the entire backend.

Follow README.md in this branch main-backend-docker

2. Use localhost environment for both backend and frontend(main branch):


Backend (Laravel + PostgreSQL)

  1. Clone the repository:

    git clone https://github.com/LeTiepTuyen/Final_Advanced_Project_ChillOut.git
    cd ./backend
  2. Create a .env file from the example:

    cp .env.example .env
  3. Install dependencies:

    composer install
  4. Generate the APP_KEY:

    php artisan key:generate
  5. Run migrations and seeders:

    php artisan migrate --seed
  6. Start the Meilisearch by docker: If you don'd have docker, please download on this link and open it.

    docker-compose up -d
  7. Run laravel queue:

    php artisan queue:work
  8. Import data to Meilisearch:

    php artisan scout:import 'App\Models\Product'
  9. Start the Laravel Sever:

    php artisan serve

Running the Frontend (Nuxt 3)

  1. Navigate to the frontend directory:

    cd ./frontend
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev

Note: Resetting the database is generally not required unless specifically needed for development purposes.

Contributors

  1. LeTiepTuyen - Tuyen Tiep Le - Email
  2. hongngoc2449 - Ngoc Hong Doan - Email
  3. LeTuyen2002 - Tuyen Trung Le - Email
  4. WilliamSimon13 - Tin Thieu Mai - Email

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • PHP 59.2%
  • Vue 25.1%
  • Blade 14.4%
  • JavaScript 1.1%
  • Other 0.2%