olinox14 vor 2 Monaten
Commit
69007fe82e
1 geänderte Dateien mit 102 neuen und 0 gelöschten Zeilen
  1. 102 0
      README.md

+ 102 - 0
README.md

@@ -0,0 +1,102 @@
+# 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](https://symfony.com/) and [API Platform 4](https://api-platform.com/). 
+The frontend uses [Nuxt.js 3](https://nuxt.com/) with [Vuetify](https://vuetifyjs.com/en) components and [TypeScript](https://www.typescriptlang.org/).
+The entire application is served through [Caddy](https://caddyserver.com/) 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](https://linuxize.com/post/how-to-edit-your-hosts-file/) 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.