Нет описания

olinox14 9af2810be3 setup app skeleton 10 месяцев назад
api 9af2810be3 setup app skeleton 10 месяцев назад
app 9af2810be3 setup app skeleton 10 месяцев назад
docker 9af2810be3 setup app skeleton 10 месяцев назад
specs 9af2810be3 setup app skeleton 10 месяцев назад
.env.skeleton 9af2810be3 setup app skeleton 10 месяцев назад
.gitignore 9af2810be3 setup app skeleton 10 месяцев назад
README.md 69007fe82e Initial commit 10 месяцев назад
docker-compose.yml 9af2810be3 setup app skeleton 10 месяцев назад

README.md

AstraCorp

This project is a full-stack web application demonstrating the integration of modern web technologies through a Docker Compose setup.

It serves as both a proof of concept and a starter template for developers looking to work with this particular technology stack.

The backend is built with Symfony 7 and API Platform 4. The frontend uses Nuxt.js 3 with Vuetify components and TypeScript. The entire application is served through Caddy web server, offering automatic HTTPS. Enjoy!

Install

Choose a domain's name for your project (project default: 'snc-demo.net'), then add those lines to your hosts file :

127.0.0.1 local.api.astra-corp.net
127.0.0.1 local.app.astra-corp.net

Copy the .env file and edit it if needed :

cp .env.skeleton .env

Run from the project directory :

docker-compose build

Edit the following files to update the directives with you domain name

  • docker/api/vhost.conf
  • docker/caddy/Caddyfile
  • api/.env
  • app/.env

Run

Run from the project directory :

docker-compose up

Install the API server :

docker exec -it astracorp_api bash
composer install
php bin/console doctrine:database:create
php bin/console doctrine:schema:update --force

Start the nuxt server:

docker exec -it astracorp_app bash
yarn install
yarn dev

Warning: You will probably have to open a tab for both of the subdomains (local.api.astra-corp.net and

     `local.app.astra-corp.net`) in your browser to add a security exception for the self-signed SSL certificate.

Without it, the frontend's requests will be blocked as CORS errors.

Add Fixtures

docker exec -it snc_demo_db bash

mysql -u root -p'Hxb3aMXUPb3m%$Ai*' -D snc_demo -e "
    ALTER TABLE `snc_demo`.`author` AUTO_INCREMENT = 1;
    INSERT INTO `snc_demo`.`author` (`name`)
    VALUES 
        ('Artist 1'),
        ('Artist 2'),
        ('Artist 3');

    ALTER TABLE `snc_demo`.`song` AUTO_INCREMENT = 1;
    INSERT INTO `snc_demo`.`song` (`title`, `author_id`)
    VALUES
        ('Song A', 1),
        ('Song B', 1),
        ('Song C', 1),
        ('Song D', 2),
        ('Song E', 2),
        ('Song F', 3),
        ('Song G', 3);
"

Warning : If you plan to use this as a starter for your own project, don't forget to change the DB password !

Try it

At this point, the application should be served at https://local.app.snc-demo.fr/.

Accessing the OpenAPI Interface

The OpenAPI interface is available at:

https://local.api.snc-demo.net/api/docs

This interface provides documentation for all available API routes.