├── .browserslistrc
├── .editorconfig
├── .eslintrc.js
├── .gitignore
├── README.md
├── babel.config.js
├── jsconfig.json
├── package-lock.json
├── package.json
├── public
├── favicon.ico
├── index.html
└── store
│ ├── capuche.jpg
│ ├── hoodi.jpg
│ ├── hoodie.jpg
│ ├── maryoul.jpg
│ ├── socks_blue.jpg
│ ├── socks_green.jpg
│ ├── switer.PNG
│ ├── t-shirt (2).jpg
│ ├── t-shirt (3).jpg
│ ├── t-shirt (4).jpg
│ └── t-shirt.jpg
├── src
├── App.vue
├── assets
│ ├── contact.png
│ ├── hero-bg.png
│ ├── intro.jpg
│ └── logo.png
├── components
│ ├── Eventcard.vue
│ ├── PreloaderPage.vue
│ ├── all_products.vue
│ ├── contact.vue
│ ├── navbar.vue
│ └── toast.vue
├── main.js
├── router
│ └── index.js
├── services
│ └── EventService.js
└── views
│ ├── AboutView.vue
│ ├── EventdetailsView.vue
│ ├── HomeView.vue
│ ├── TestEventView.vue
│ └── contact.vue
└── vue.config.js
/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not dead
4 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome: https://EditorConfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | [*]
7 | indent_style = space
8 | indent_size = 4
9 | end_of_line = crlf
10 | charset = utf-8
11 | trim_trailing_whitespace = false
12 | insert_final_newline = false
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | node: true
5 | },
6 | 'extends': [
7 | 'plugin:vue/essential',
8 | ],
9 | rules: {
10 | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
11 | "vue/multi-word-component-names": "off",
12 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # projet_sem1_vuejs
2 |
3 | ## Project setup
4 | ```
5 | npm install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | npm run serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | npm run build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | npm run lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "esnext",
5 | "baseUrl": "./",
6 | "moduleResolution": "node",
7 | "paths": {
8 | "@/*": [
9 | "src/*"
10 | ]
11 | },
12 | "lib": [
13 | "esnext",
14 | "dom",
15 | "dom.iterable",
16 | "scripthost"
17 | ]
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "projet_sem1_vuejs",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "axios": "^1.1.3",
12 | "bootstrap": "^5.2.2",
13 | "core-js": "^3.8.3",
14 | "jquery": "^3.6.1",
15 | "jspdf": "^2.5.1",
16 | "jspdf-autotable": "^3.5.25",
17 | "vue": "^2.6.14",
18 | "vue-confetti": "^2.3.0",
19 | "vue-router": "^3.5.1"
20 | },
21 | "devDependencies": {
22 | "@babel/core": "^7.12.16",
23 | "@babel/eslint-parser": "^7.12.16",
24 | "@vue/cli-plugin-babel": "~5.0.0",
25 | "@vue/cli-plugin-eslint": "~5.0.0",
26 | "@vue/cli-plugin-router": "~5.0.0",
27 | "@vue/cli-service": "~5.0.0",
28 | "eslint": "^7.32.0",
29 | "eslint-plugin-vue": "^8.0.3",
30 | "sass": "^1.32.7",
31 | "sass-loader": "^12.0.0",
32 | "vue-template-compiler": "^2.6.14"
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/public/store/capuche.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/store/capuche.jpg
--------------------------------------------------------------------------------
/public/store/hoodi.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/store/hoodi.jpg
--------------------------------------------------------------------------------
/public/store/hoodie.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/store/hoodie.jpg
--------------------------------------------------------------------------------
/public/store/maryoul.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/store/maryoul.jpg
--------------------------------------------------------------------------------
/public/store/socks_blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/store/socks_blue.jpg
--------------------------------------------------------------------------------
/public/store/socks_green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/store/socks_green.jpg
--------------------------------------------------------------------------------
/public/store/switer.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/store/switer.PNG
--------------------------------------------------------------------------------
/public/store/t-shirt (2).jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/store/t-shirt (2).jpg
--------------------------------------------------------------------------------
/public/store/t-shirt (3).jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/store/t-shirt (3).jpg
--------------------------------------------------------------------------------
/public/store/t-shirt (4).jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/store/t-shirt (4).jpg
--------------------------------------------------------------------------------
/public/store/t-shirt.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/public/store/t-shirt.jpg
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
22 |
39 |
--------------------------------------------------------------------------------
/src/assets/contact.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/src/assets/contact.png
--------------------------------------------------------------------------------
/src/assets/hero-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/src/assets/hero-bg.png
--------------------------------------------------------------------------------
/src/assets/intro.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/src/assets/intro.jpg
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TalelMejri/projet_sem1_vuejs/bad5bc4fd26ebcb266e3cc4045b83669fda0d228/src/assets/logo.png
--------------------------------------------------------------------------------
/src/components/Eventcard.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
List Events :
4 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Empty Events
16 |
17 |
18 |
19 |
20 |
23 |
24 |
{{event.category }}
25 |
{{event.title}}
26 |
{{event.description}}
27 |
{{event.location}}
28 |
{{event.time}}
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
69 |
70 |
71 |
74 |
--------------------------------------------------------------------------------
/src/components/PreloaderPage.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | V
5 | U
6 | E
7 | JS
8 |
9 |
10 |
11 |
12 |
26 |
27 |
--------------------------------------------------------------------------------
/src/components/all_products.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
32 |
33 |
34 |
35 |
36 |
![]()
38 |
39 |
40 |
41 |
Size : M
42 |
46 |
47 |
48 |
49 |
53 |
54 |
55 |
56 |
57 |
61 |
62 |
63 | {{buy.Prix}} $
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
77 |
78 |
79 | -
81 | Products
82 | ${{total}}
83 |
84 | -
85 | Shipping
86 | Gratis
87 |
88 | -
90 |
91 |
Total amount
92 |
93 | (including VAT)
94 |
95 |
96 | ${{total}}
97 |
98 |
99 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
![]()
125 |
126 |
favorite
127 |
{{our1.name}}
128 |
{{our1.quantity}}(available)
{{our1.Prix}} dt
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
![]()
152 |
153 |
favorite
154 |
{{our1.name}}
155 |
{{our1.quantity}}(available)
{{our1.Prix}} dt
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
279 |
280 |
281 |
--------------------------------------------------------------------------------
/src/components/contact.vue:
--------------------------------------------------------------------------------
1 |
2 |
89 |
90 |
91 |
133 |
134 |
--------------------------------------------------------------------------------
/src/components/navbar.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/components/toast.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | you must enter all fileds
6 |
7 |
8 |
9 |
10 |
15 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 | import router from './router'
4 | import "bootstrap";
5 | import "bootstrap/dist/css/bootstrap.min.css";
6 | import "bootstrap/js/dist/offcanvas";
7 | import "bootstrap/js/dist/alert";
8 | import "bootstrap/js/dist/modal";
9 | import "bootstrap/js/dist/dropdown";
10 |
11 | /*global.jQuery = require('jquery');
12 | var $ = global.jQuery;
13 | window.$ = $;*/
14 |
15 | Vue.config.productionTip = false
16 |
17 | new Vue({
18 | router,
19 | render: h => h(App)
20 | }).$mount('#app')
21 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 | import HomeView from '../views/HomeView.vue'
4 | import contact from '../views/contact.vue'
5 | import testEvent from '../views/TestEventView.vue'
6 | import eventbyid from '../views/EventdetailsView'
7 | Vue.use(VueRouter)
8 |
9 | const routes = [
10 | {
11 | path: '/',
12 | name: 'home',
13 | component: HomeView
14 | },
15 | {
16 | path:'/contact',
17 | name:'contact',
18 | component:contact
19 | },
20 | {
21 | path: '/about',
22 | name: 'about',
23 | component: () => import('../views/AboutView.vue')
24 | },
25 | {
26 | path:"/event/:id",
27 | name:'event',
28 | component:eventbyid
29 | },
30 | {
31 | path: '/testevent',
32 | name: 'testEvent',
33 | component: testEvent
34 | },
35 | ]
36 |
37 | const router = new VueRouter({
38 | mode: 'history',
39 | base: process.env.BASE_URL,
40 | routes
41 | })
42 |
43 | export default router
44 |
--------------------------------------------------------------------------------
/src/services/EventService.js:
--------------------------------------------------------------------------------
1 |
2 | import axios from "axios";
3 |
4 | const ApiClient=axios.create({
5 | baseURL:'https://my-json-server.typicode.com/TalelMejri/api_calls',
6 | withCredentials:false,
7 | headers:{
8 | accept:"application/json",
9 | "content-type":"application/json"
10 | },
11 | })
12 |
13 | export default{
14 | getEvents(){
15 | return ApiClient.get('/events');
16 | },
17 |
18 | getEventByid(id){
19 | return ApiClient.get('/events/'+id);
20 | },
21 |
22 |
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/src/views/AboutView.vue:
--------------------------------------------------------------------------------
1 |
2 |
31 |
32 |
33 |
134 |
137 |
--------------------------------------------------------------------------------
/src/views/EventdetailsView.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
List Events :
4 |
9 |
10 |
11 |
14 |
15 |
{{event.category }}
16 |
{{event.title}}
17 |
{{event.description}}
18 |
{{event.location}}
19 |
{{event.time}}
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/views/HomeView.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
Just By being in it
13 |
Join Us
14 |
15 |
16 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
64 |
65 |
93 |
--------------------------------------------------------------------------------
/src/views/TestEventView.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
42 |
--------------------------------------------------------------------------------
/src/views/contact.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
31 |
32 |
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | const { defineConfig } = require('@vue/cli-service')
2 | module.exports = defineConfig({
3 | lintOnSave:false,
4 | transpileDependencies: true,
5 | })
6 |
--------------------------------------------------------------------------------