Compare commits
26 Commits
ad549e4e53
...
test--test
Author | SHA1 | Date | |
---|---|---|---|
ef6fe94634 | |||
e1c6f0d281 | |||
0a85c94b03 | |||
feef7c4cf1 | |||
e3acfe1a92 | |||
6c93091109 | |||
bf94c5b262 | |||
0fda82da7a | |||
5df15bc219 | |||
dc0f478c38 | |||
18dd40fbb5 | |||
b857f54115 | |||
9ab3c401a6 | |||
6e557f159a | |||
c238c547b8 | |||
848ccbf5b4 | |||
2d2bb81b93 | |||
801ab51150 | |||
120ed8182a | |||
94b2ce2d16 | |||
04dfb78d57 | |||
9a098e1433 | |||
231af73f96 | |||
9c073640f3 | |||
708fc53e4e | |||
d5afe1631e |
8
.github/workflows/build_docker_astro.yml
vendored
8
.github/workflows/build_docker_astro.yml
vendored
@ -6,9 +6,9 @@ on: #declancheur
|
|||||||
- '*'
|
- '*'
|
||||||
tags:
|
tags:
|
||||||
- v*
|
- v*
|
||||||
pull_request:
|
# pull_request:
|
||||||
branches:
|
# branches:
|
||||||
- master
|
# - master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run: #jobs ID (nom du jobs)
|
run: #jobs ID (nom du jobs)
|
||||||
@ -23,7 +23,7 @@ jobs:
|
|||||||
uses: docker/metadata-action@v5
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
git.lab-ouest.org/Epitech/ratrapage_T-WEB
|
git.lab-ouest.org/Epitech/ratrapage_T-WEB_front
|
||||||
tags: |
|
tags: |
|
||||||
type=edge
|
type=edge
|
||||||
type=ref,event=pr
|
type=ref,event=pr
|
||||||
|
19
.github/workflows/run_back_test.yml
vendored
Normal file
19
.github/workflows/run_back_test.yml
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
name: Test and coverage
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
jobs:
|
||||||
|
coverage:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: ArtiomTr/jest-coverage-report-action@v2
|
||||||
|
with:
|
||||||
|
working-directory: Express/barAndCafe
|
||||||
|
test-script: npm run test
|
||||||
|
output: comment, report-markdown
|
||||||
|
prnumber: ${{ steps.findPr.outputs.number }}
|
||||||
|
custom-title: Coverage report for backend
|
||||||
|
github-token: ${{ secrets.PR_TOCKEN}}
|
||||||
|
annotations: none #disable annotation
|
19
Express/barAndCafe/jest.config.js
Normal file
19
Express/barAndCafe/jest.config.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/** @type {import('ts-jest').JestConfigWithTsJest} */
|
||||||
|
module.exports = {
|
||||||
|
preset: 'ts-jest',
|
||||||
|
testEnvironment: 'node',
|
||||||
|
collectCoverage: true,
|
||||||
|
coverageDirectory: 'coverage',
|
||||||
|
collectCoverageFrom: [
|
||||||
|
'**/*.ts',
|
||||||
|
'!/nodemodules/',
|
||||||
|
'!/jest.config.js/',
|
||||||
|
'!/coverage/',
|
||||||
|
'!**/server.ts',
|
||||||
|
],
|
||||||
|
coverageThreshold: {
|
||||||
|
global: {
|
||||||
|
lines: 80,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
15
Express/barAndCafe/jsdoc.json
Normal file
15
Express/barAndCafe/jsdoc.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"opts": {
|
||||||
|
"template": "node_modules/better-docs"
|
||||||
|
},
|
||||||
|
"tags": {
|
||||||
|
"allowUnknownTags": ["optional"]
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
|
"node_modules/better-docs/typescript"
|
||||||
|
],
|
||||||
|
"source": {
|
||||||
|
"include": ["./src"],
|
||||||
|
"includePattern": "\\.(jsx|js|ts|tsx)$"
|
||||||
|
}
|
||||||
|
}
|
11059
Express/barAndCafe/package-lock.json
generated
Normal file
11059
Express/barAndCafe/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
33
Express/barAndCafe/package.json
Normal file
33
Express/barAndCafe/package.json
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"main": "dist/server.js",
|
||||||
|
"scripts": {
|
||||||
|
"build": "rimraf dist && npx tsc",
|
||||||
|
"start": "node dist/index.js",
|
||||||
|
"predev": "npm run build",
|
||||||
|
"dev": "npx tsc -w & nodemon dist/server.js",
|
||||||
|
"docs": "jsdoc -c jsdoc.json",
|
||||||
|
"test": "jest"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@types/express": "^4.17.21",
|
||||||
|
"@types/node": "^20.12.7",
|
||||||
|
"dotenv": "^16.4.5",
|
||||||
|
"express": "^4.19.2",
|
||||||
|
"rimraf": "^5.0.5"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/jest": "^29.5.12",
|
||||||
|
"@types/supertest": "^6.0.2",
|
||||||
|
"babel-cli": "^6.26.0",
|
||||||
|
"babel-preset-env": "^1.7.0",
|
||||||
|
"better-docs": "^2.7.3",
|
||||||
|
"jest": "^29.7.0",
|
||||||
|
"jsdoc": "^4.0.3",
|
||||||
|
"nodemon": "^3.1.0",
|
||||||
|
"superagent": "^9.0.2",
|
||||||
|
"supertest": "^7.0.0",
|
||||||
|
"ts-jest": "^29.1.2",
|
||||||
|
"typedoc": "^0.25.13",
|
||||||
|
"typescript": "^5.4.5"
|
||||||
|
}
|
||||||
|
}
|
22
Express/barAndCafe/src/app.ts
Normal file
22
Express/barAndCafe/src/app.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import express from "express";
|
||||||
|
/**
|
||||||
|
* Initialize Express application instance.
|
||||||
|
* @returns An initialized Express application object.
|
||||||
|
*/
|
||||||
|
const app = express();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle GET request for homepage route ('/').
|
||||||
|
* Send back a simple text response.
|
||||||
|
* @param {express.Request} req - HTTP Request object.
|
||||||
|
* @param {express.Response} res - HTTP Response object.
|
||||||
|
*/
|
||||||
|
function getRoot(req: express.Request, res: express.Response) {
|
||||||
|
res.send("hello world from dev");
|
||||||
|
}
|
||||||
|
|
||||||
|
app.get("/", getRoot);
|
||||||
|
|
||||||
|
export default app;
|
10
Express/barAndCafe/src/server.ts
Normal file
10
Express/barAndCafe/src/server.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import * as dotenv from "dotenv";
|
||||||
|
import app from "./app";
|
||||||
|
|
||||||
|
dotenv.config({path: '../../.env'})
|
||||||
|
|
||||||
|
const port = parseInt(process.env.BAR_PORT || '3000')
|
||||||
|
|
||||||
|
app.listen(port, () =>{
|
||||||
|
console.log(`serveur running in ${port}`)
|
||||||
|
})
|
38
Express/barAndCafe/test/app.test.ts
Normal file
38
Express/barAndCafe/test/app.test.ts
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
import request from "supertest";
|
||||||
|
import app from "../src/app";
|
||||||
|
import { Server, IncomingMessage, ServerResponse } from "http";
|
||||||
|
|
||||||
|
const port = 3000;
|
||||||
|
|
||||||
|
let serveur : Server<typeof IncomingMessage, typeof ServerResponse>
|
||||||
|
|
||||||
|
describe("Test the root path", () => {
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
serveur = app.listen(port, () =>{
|
||||||
|
console.log(`serveur running in ${port}`)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
afterEach((done) => {
|
||||||
|
serveur.close(done)
|
||||||
|
})
|
||||||
|
|
||||||
|
test("It should response the GET method", done => {
|
||||||
|
request(app)
|
||||||
|
.get("/")
|
||||||
|
.then(response => {
|
||||||
|
expect(response.statusCode).toBe(200);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
test("It should response the GET method", done => {
|
||||||
|
request(app)
|
||||||
|
.get("/")
|
||||||
|
.then(response => {
|
||||||
|
expect(response.text).toEqual("hello world from dev")
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
@ -28,9 +28,9 @@
|
|||||||
"module": "commonjs", /* Specify what module code is generated. */
|
"module": "commonjs", /* Specify what module code is generated. */
|
||||||
// "rootDir": "./", /* Specify the root folder within your source files. */
|
// "rootDir": "./", /* Specify the root folder within your source files. */
|
||||||
// "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */
|
// "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */
|
||||||
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
|
"baseUrl": "src", /* Specify the base directory to resolve non-relative module names. */
|
||||||
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
|
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
|
||||||
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
|
"rootDirs": ["./src"], /* Allow multiple folders to be treated as one when resolving modules. */
|
||||||
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
|
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
|
||||||
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
|
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
|
||||||
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
11
bruno/OpenData datatourisme/express test.bru
Normal file
11
bruno/OpenData datatourisme/express test.bru
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
meta {
|
||||||
|
name: express test
|
||||||
|
type: http
|
||||||
|
seq: 3
|
||||||
|
}
|
||||||
|
|
||||||
|
get {
|
||||||
|
url: http://localhost:3000
|
||||||
|
body: none
|
||||||
|
auth: none
|
||||||
|
}
|
@ -15,7 +15,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- public
|
- public
|
||||||
front:
|
front:
|
||||||
image: git.lab-ouest.org/epitech/ratrapage_t-web:pr-2-head
|
image: git.lab-ouest.org/epitech/ratrapage_t-web_front:pr-7-head
|
||||||
depends_on:
|
depends_on:
|
||||||
- pocketbase
|
- pocketbase
|
||||||
labels:
|
labels:
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
import express from "express";
|
|
||||||
|
|
||||||
const port = 3000; //TODO: mettre port en .ENV
|
|
||||||
|
|
||||||
const app = express();
|
|
||||||
|
|
||||||
app.get("/", (req, res) => {
|
|
||||||
res.send("helloworld form dev")
|
|
||||||
})
|
|
||||||
|
|
||||||
app.listen(port, () =>{
|
|
||||||
console.log(`serveur running in ${port}`)
|
|
||||||
})
|
|
1633
express/package-lock.json
generated
1633
express/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"scripts": {
|
|
||||||
"build": "rimraf dist && npx tsc",
|
|
||||||
"start": "node dist/index.js",
|
|
||||||
"predev": "npm run build",
|
|
||||||
"dev": "npx tsc -w & nodemon dist/index.js"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@types/express": "^4.17.21",
|
|
||||||
"@types/node": "^20.12.7",
|
|
||||||
"express": "^4.19.2",
|
|
||||||
"rimraf": "^5.0.5",
|
|
||||||
"typescript": "^5.4.5"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"nodemon": "^3.1.0"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,21 +1,30 @@
|
|||||||
import { defineConfig } from 'astro/config';
|
import { defineConfig } from 'astro/config';
|
||||||
import node from '@astrojs/node';
|
import node from '@astrojs/node';
|
||||||
|
import tailwind from "@astrojs/tailwind";
|
||||||
|
|
||||||
|
import react from "@astrojs/react";
|
||||||
|
|
||||||
// https://astro.build/config
|
// https://astro.build/config
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
// integrations: [tailwind(), test, routing(), version(), buildInfos()],
|
// integrations: [tailwind(), test, routing(), version(), buildInfos()],
|
||||||
compressHTML: true,
|
compressHTML: true,
|
||||||
build: {
|
build: {
|
||||||
assets: 'assets',
|
assets: 'assets',
|
||||||
inlineStylesheets: 'auto'
|
inlineStylesheets: 'auto'
|
||||||
},
|
},
|
||||||
server: {
|
server: {
|
||||||
host: true,
|
host: true,
|
||||||
port: 3000
|
port: 3000
|
||||||
},
|
},
|
||||||
trailingSlash: 'never',
|
trailingSlash: 'never',
|
||||||
output: 'server',
|
output: 'server',
|
||||||
adapter: node({
|
adapter: node({
|
||||||
mode: 'standalone'
|
mode: 'standalone'
|
||||||
}),
|
}),
|
||||||
});
|
integrations: [tailwind(), react()],
|
||||||
|
vite: {
|
||||||
|
optimizeDeps: {
|
||||||
|
include: ['leaflet']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
999
front/package-lock.json
generated
999
front/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -5,30 +5,39 @@
|
|||||||
"private": "true",
|
"private": "true",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
"start": "astro dev",
|
"start": "node ./dist/server/entry.mjs",
|
||||||
"build": "astro check && astro build",
|
"build": "astro check && astro build",
|
||||||
"preview": "astro preview",
|
"preview": "astro preview",
|
||||||
"astro": "astro"
|
"astro": "astro",
|
||||||
|
"check:lint": "eslint src"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/node": "^8.2.5",
|
"@astrojs/node": "^8.2.5",
|
||||||
|
"@astrojs/react": "^3.3.1",
|
||||||
"@astrojs/tailwind": "^5.1.0",
|
"@astrojs/tailwind": "^5.1.0",
|
||||||
"@tailwindcss/typography": "^0.5.12",
|
"@tailwindcss/typography": "^0.5.12",
|
||||||
"astro": "^4.6.3",
|
"@types/react": "^18.2.79",
|
||||||
|
"@types/react-dom": "^18.2.25",
|
||||||
|
"astro": "4.5.12",
|
||||||
|
"leaflet": "^1.9.4",
|
||||||
"lucide-astro": "^0.372.0",
|
"lucide-astro": "^0.372.0",
|
||||||
"pocketbase": "^0.21.1",
|
"pocketbase": "^0.21.1",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"react-dom": "^18.2.0",
|
||||||
|
"react-leaflet": "^4.2.1",
|
||||||
"simple-icons-astro": "^11.12.0",
|
"simple-icons-astro": "^11.12.0",
|
||||||
"tailwindcss": "^3.4.3",
|
"tailwindcss": "^3.4.3",
|
||||||
"typescript": "^5.2.2"
|
"typescript": "^5.2.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@astrojs/check": "^0",
|
"@astrojs/check": "^0",
|
||||||
|
"@types/leaflet": "^1.9.12",
|
||||||
"@types/node": "^20",
|
"@types/node": "^20",
|
||||||
"@typescript-eslint/eslint-plugin": "^6",
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
||||||
"@typescript-eslint/parser": "^6",
|
"@typescript-eslint/parser": "^6.21.0",
|
||||||
"@vitest/coverage-v8": "^1",
|
"@vitest/coverage-v8": "^1",
|
||||||
"eslint": "^8",
|
"eslint": "^8.57.0",
|
||||||
"eslint-plugin-astro": "^0.31",
|
"eslint-plugin-astro": "^0.31.4",
|
||||||
"typescript": "^5",
|
"typescript": "^5",
|
||||||
"vitest": "^1"
|
"vitest": "^1"
|
||||||
}
|
}
|
||||||
|
12
front/src/libs/AuthUtils.ts
Normal file
12
front/src/libs/AuthUtils.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
//référence a loop
|
||||||
|
//fonction get user pour récupéré un utilisateur (notament coté client)
|
||||||
|
//sessionID = JWS
|
||||||
|
|
||||||
|
|
||||||
|
//fonction set user crée un cookies de session
|
||||||
|
//passé le cookies astro dans les paramètre
|
||||||
|
|
||||||
|
//utiliser cookie.set pour crée un nouveau cookies
|
||||||
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
import Layout from '../layouts/Layout.astro';
|
import Layout from 'layouts/Layout.astro';
|
||||||
import Card from '../components/Card.astro';
|
import Card from 'components/Card.astro';
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout title="Welcome to Astro.">
|
<Layout title="Welcome to Astro.">
|
||||||
|
17
front/src/pages/maps.astro
Normal file
17
front/src/pages/maps.astro
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
import Layout from 'layouts/Layout.astro';
|
||||||
|
import { Marker, Popup } from 'leaflet';
|
||||||
|
import { MapContainer } from 'react-leaflet'
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="maps test">
|
||||||
|
|
||||||
|
<MapContainer client:load center={[51.505, -0.09]} zoom={13} scrollWheelZoom={false}>
|
||||||
|
<Marker client:load lat={51.505} lng={-0.09}>
|
||||||
|
<Popup client:load>
|
||||||
|
A pretty CSS3 popup. <br /> Easily customizable.
|
||||||
|
</Popup>
|
||||||
|
</Marker>
|
||||||
|
</MapContainer>
|
||||||
|
|
||||||
|
</Layout>
|
8
front/tailwind.config.mjs
Normal file
8
front/tailwind.config.mjs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/** @type {import('tailwindcss').Config} */
|
||||||
|
export default {
|
||||||
|
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
|
||||||
|
theme: {
|
||||||
|
extend: {},
|
||||||
|
},
|
||||||
|
plugins: [],
|
||||||
|
}
|
@ -1,3 +1,8 @@
|
|||||||
{
|
{
|
||||||
"extends": "astro/tsconfigs/strict"
|
"extends": "astro/tsconfigs/strict",
|
||||||
|
"compilerOptions": {
|
||||||
|
"baseUrl": "src",
|
||||||
|
// hide an issue with typescript
|
||||||
|
"noUnusedLocals": false
|
||||||
|
},
|
||||||
}
|
}
|
Reference in New Issue
Block a user