Skip to content

CPNV-ES/Zonta-Gaufres

Repository files navigation

Contributors Issues License


Zonta Logo

Zonta Gaufres

An awesome management system for Zonta waffles sells!
Explore the docs »

Request Feature · Report Bug

About The Project

The whole project which is not yet finished is a management system for Zonta waffles sells. It's a school project for the CPNV.

Most of the project is still under development. You might want to switch to develop branch to see the latest changes and be able to run and contribute to the project.

(back to top)

Built With

Laravel React Shadcn Inertia.js Vite Docker mysql

(back to top)

Environment

VSCode PHPStorm Windows

Getting Started

Development

Prerequisites

Docker npm composer php

Installation

  1. Clone the repo

    git clone https://github.com/CPNV-ES/Zonta-Gaufres.git
  2. Install npm and composer dependencies (not required if you're planning to use devcontainer)

    npm install
    composer install
    #or
    npm run dep

The dep script is a custom script that will install both npm and composer dependencies at once. You MUST have run npm install before running this script if you don't have concurrently installed.

  1. Create the .env file based on the .env.example file

     cp .env.example .env
  2. Build docker containers (optional)

    docker compose up -d --build

Runnning the project

Using Docker and devcontainer

As the project is using Docker container with a devcontainer, you can simply run the dev container using the vscode extension ms-vscode-remote.remote-containers.

Open the project in vscode. It should ask you to reopen in the container. If it doesn't, you can click on ctrl + shit + p and type reopen in container then press enter.

The devcontainer contains extensions to allow any dev to work with the same formatting and have a better collaboration.

Not using VSCode ?

If you are using another IDE which has a limited support for devcontainers, you might no be able to run the devcontainer at its current state. Therefore, you can still run the container with the following command.

docker compose up -d

-d stands for detached mode, meaning that the container will run in the background.

Install dependencies

Now that you are in the container, you can run the following command to install all the dependencies at once.

# If it's the first time you're installing dependencies run:
npm i
# Then:
npm run dep

It's due to a package used in the script "dep" which runs all dependencies install concurrently in the same terminal. You can still do each step manually.

Run the servers

There are two servers that must be started. One which serves the frontend and one which serves the backend.

npm run dev-all
# or
npm run dev
php artisan serve

Same as before the dev-all script is a custom script that will run both servers concurrently in the same terminal. You can still do each step manually.

(back to top)

Collaborate

Convention

Commit

The project uses Conventional Commits. The keywords used are: feat, fix, chore, refactor, test, docs. The commits are named with the following pattern: type: description eg.(feat: add awsome feature).

Workflow

The project uses Gitflow. The branches used are: main, develop, feature, release, hotfix. The branches are named with the following pattern: type/short-description eg.(feature/awsome-feature).

file naming

The project uses the following file naming convention.

Type Naming convention Example
Class PascalCase LoginPage
JS camelCase loginPage.js
JSX Component PascalCase Button.jsx
Shadcn/ui Component camleCase button.jsx
CSS kebab-case main.css
HTML kebab-case login-page.html

Versioning

The project uses SemVer. The versioning is done with the following pattern: major.minor.patch eg.(1.0.0).

Development server

The project uses Vite as a development server.

(back to top)

Directory structure

.
├── artisan
├── bootstrap
│   └── app.php
├── .editorconfig
├── .gitattributes
├── storage
│   ├── app
│   │   ├── .gitignore
│   │   └── public
│   │       ├── .gitignore
│   │       └── zonta
│   │           └── zonta-red-big.png
│   └── logs
│       ├── .gitignore
│       └── laravel.log
├── .env
├── LICENSE.txt
├── app
│   ├── Console
│   │   └── Kernel.php
│   ├── Exceptions
│   │   └── Handler.php
│   ├── Enums
│   │   ├── AddressTypesEnum.php
│   │   └── OtherEnum.php
│   ├── Http
│   │   ├── Controllers
│   │   │   ├── Controller.php
│   │   │   ├── Auth
│   │   │   │   ├── VerifyEmailController.php
│   │   │   │   └── OtherAuthControllers.php
│   │   │   ├── DeliveryController.php
│   │   │   └── OtherController.php
│   │   ├── Kernel.php
│   │   ├── Middleware
│   │   │   ├── Authenticate.php
│   │   │   ├── EncryptCookies.php
│   │   │   ├── PreventRequestsDuringMaintenance.php
│   │   │   ├── RedirectIfAuthenticated.php
│   │   │   ├── TrimStrings.php
│   │   │   ├── TrustHosts.php
│   │   │   ├── TrustProxies.php
│   │   │   ├── ValidateSignature.php
│   │   │   ├── VerifyCsrfToken.php
│   │   │   └── HandleInertiaRequests.php
│   │   └── Requests
│   │       ├── Auth
│   │       │   └── LoginRequest.php
│   │       └── ProfileUpdateRequest.php
│   ├── Models
│   │   ├── Address.php
│   │   └── OtherModels.php
│   └── Providers
│       ├── AuthServiceProvider.php
│       └── OtherProviders.php
├── components.json
├── composer.json
├── composer.lock
├── config
│   ├── auth.php
│   └── OtherConfig.php
├── database
│   ├── .gitignore
│   ├── factories
│   │   ├── AddressFactory.php
│   │   └── ModelFactory.php
│   ├── migrations
│   │   ├── 2024_02_04_225203_create_articles_table.php
│   │   └── OthersMigrations.php
│   └── seeders
│       └── DatabaseSeeder.php
├── .devcontainer
│   └── devcontainer.json
├── docker-compose.yml
├── .env.example
├── .gitignore
├── jsconfig.json
├── package.json
├── package-lock.json
├── phpunit.xml
├── postcss.config.js
├── public
│   ├── favicon.ico
│   ├── .htaccess
│   ├── index.php
│   ├── robots.txt
│   └── images
│       └── zonta.png
├── resources
│   ├── css
│   │   └── app.css
│   ├── js
│   │   ├── app.jsx
│   │   ├── Builder
│   │   │   └── ColumnBuilder.js
│   │   ├── Components
│   │   │   ├── DataTable.jsx
│   │   │   ├── CustomComponents.jsx
│   │   │   └── ui
│   │   │       ├── badge.jsx
│   │   │       └── componentsInstalledThroughShadcn.jsx
│   │   ├── Layouts
│   │   │   └── MainLayout.jsx
│   │   ├── lib
│   │   │   └── utils.js
│   │   └── Pages
│   │       ├── Delivery
│   │       │   ├── Edit.jsx
│   │       │   └── Index.jsx
│   │       └── FeatureName
│   │           └── Index.jsx
│   └── views
│       └── app.blade.php
├── routes
│   ├── api.php
│   ├── channels.php
│   ├── console.php
│   ├── auth.php
│   └── web.php
├── tailwind.config.js
├── vite.config.js
└── README.md

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Developer Email
Noé Zwissig [email protected]
Cyprien Jaquier [email protected]
Noah Delgado [email protected]
Benjamin Fontana [email protected]

Project Link: https://github.com/CPNV-ES/Zonta-Gaufres

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published