DigitalVision is a full-stack web application for exploring, publishing, and saving digital artwork. The application allows users to register, log in, browse artwork, search through available art, add favorites, manage their profile, and send contact messages through the contact form.
- User registration and login
- Digital artwork search and exploration
- User profile page
- Add and remove favorite artwork
- Add user artwork
- Contact form with email sending
- Responsive frontend built with Quasar and Vue
- REST API built with Express.js
- MySQL database integration
- Vue 3
- Quasar Framework
- Vue Router
- Axios
- SCSS
- Node.js
- Express.js
- MySQL
- Nodemailer
- Jest
- Supertest
DigitalVision-Web-app/
├── backend/
│ ├── indeks.js
│ ├── init.sql
│ ├── package.json
│ └── favoriti.test.js
│
├── frontend/
│ └── digital-vision-projekt/
│ ├── src/
│ │ ├── pages/
│ │ ├── layouts/
│ │ ├── router/
│ │ └── css/
│ ├── public/
│ ├── package.json
│ └── quasar.config.js
│
├── install.bat
└── README.md
/ Home page
/pretrazivanje Explore and search artwork
/onama About us page
/kontakt Contact page
/prijava Login page
/reg Registration page
/profil User profile page
POST /api/login
POST /api/reg
GET /api/search
POST /api/add-to-favorites
GET /api/user-favorites
POST /api/remove-from-favorites
GET /api/slike-umj
POST /api/add-art
POST /send-email
Before running the project, install:
- Node.js 18 or 20
- npm
- MySQL
Create a .env file inside the backend folder.
DB_HOST=localhost
DB_USER=your_mysql_user
DB_PASSWORD=your_mysql_password
DB_NAME=kbazon
SMTP_USER=your_email@gmail.com
SMTP_PASS=your_app_passwordDo not commit the .env file to GitHub.
A safe example file can be committed as .env.example:
DB_HOST=
DB_USER=
DB_PASSWORD=
DB_NAME=
SMTP_USER=
SMTP_PASS=Create the database and tables using the SQL script:
cd backend
mysql -u root -p < init.sqlThe script creates the required tables:
ArtistArtFavorites
cd backend
npm install
npm install dotenv
node indeks.jsBackend runs on:
http://localhost:3000
Open a new terminal:
cd frontend/digital-vision-projekt
npm install
npm run devFrontend runs on:
http://localhost:9000
Backend tests:
cd backend
npm testFrontend linting:
cd frontend/digital-vision-projekt
npm run lintCreated by kbazon.