A full-stack web application using Symfony on the backend and Vue 3 + Vite on the frontend — all containerized with Docker and managed through docker-compose. The project is structured with a focus on clean architecture, smooth developer workflow, and modern web standards.
Docker Vue.js Vite Pinia Tailwind Css Lucile Icons Typescript
The frontend is a responsive and theme-aware Vue 3 app powered by Vite. It includes localization support (i18n), a sleek UI using Tailwind and ShadCN components, and smooth interactions built with reactivity and simplicity in mind.
Docker Symfony Lexik JWT JWT Decode
The backend is developed with Symfony 6, exposing a RESTful API for handling authentication, user data, and core application logic. It uses Doctrine ORM for database interactions and JWT-based authentication for secure access.
Follow step. by step to steup and start the projet.
-
Clone the repository
git clone https://github.com/Pin-ball/Portal.git
-
Environment
Create
.env
files based on.env.sample
inside the following folders :/
/frontend
/backend
-
Run Docker
If you're on vsCode, you have "Run & Debug" actions ready to use :
- Build Docker
- Start Docker
- Stop Docker
If not, you can run this command
docker compose up --build -d
-
Setup Backend (Symfony)
4.1. Access container
docker compose exec backend bash
No need to run
composer install
4.2. Generate JWT secrets
php bin/console lexik:jwt:generate-keypair
4.3. Prepare database
php bin/console doctrine:migrations:migrate
-
Setup Frontend (Vue)
To access to container
docker compose exec frontend bash
No need to run
npm install
Enjoy the app locally over here.
Here is how to manually run your Symfony command inside the Docker container.
docker compose exec backend bash
php bin/console app:count-daily-questions