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:
|
||||
- v*
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
# pull_request:
|
||||
# branches:
|
||||
# - master
|
||||
|
||||
jobs:
|
||||
run: #jobs ID (nom du jobs)
|
||||
@ -23,7 +23,7 @@ jobs:
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: |
|
||||
git.lab-ouest.org/Epitech/ratrapage_T-WEB
|
||||
git.lab-ouest.org/Epitech/ratrapage_T-WEB_front
|
||||
tags: |
|
||||
type=edge
|
||||
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. */
|
||||
// "rootDir": "./", /* Specify the root folder within your source files. */
|
||||
// "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. */
|
||||
// "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'. */
|
||||
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
|
||||
// "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:
|
||||
- public
|
||||
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:
|
||||
- pocketbase
|
||||
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 node from '@astrojs/node';
|
||||
import tailwind from "@astrojs/tailwind";
|
||||
|
||||
import react from "@astrojs/react";
|
||||
|
||||
// https://astro.build/config
|
||||
export default defineConfig({
|
||||
// integrations: [tailwind(), test, routing(), version(), buildInfos()],
|
||||
compressHTML: true,
|
||||
build: {
|
||||
assets: 'assets',
|
||||
inlineStylesheets: 'auto'
|
||||
},
|
||||
server: {
|
||||
host: true,
|
||||
port: 3000
|
||||
},
|
||||
trailingSlash: 'never',
|
||||
output: 'server',
|
||||
adapter: node({
|
||||
mode: 'standalone'
|
||||
}),
|
||||
// integrations: [tailwind(), test, routing(), version(), buildInfos()],
|
||||
compressHTML: true,
|
||||
build: {
|
||||
assets: 'assets',
|
||||
inlineStylesheets: 'auto'
|
||||
},
|
||||
server: {
|
||||
host: true,
|
||||
port: 3000
|
||||
},
|
||||
trailingSlash: 'never',
|
||||
output: 'server',
|
||||
adapter: node({
|
||||
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",
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
"start": "astro dev",
|
||||
"start": "node ./dist/server/entry.mjs",
|
||||
"build": "astro check && astro build",
|
||||
"preview": "astro preview",
|
||||
"astro": "astro"
|
||||
"astro": "astro",
|
||||
"check:lint": "eslint src"
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/node": "^8.2.5",
|
||||
"@astrojs/react": "^3.3.1",
|
||||
"@astrojs/tailwind": "^5.1.0",
|
||||
"@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",
|
||||
"pocketbase": "^0.21.1",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-leaflet": "^4.2.1",
|
||||
"simple-icons-astro": "^11.12.0",
|
||||
"tailwindcss": "^3.4.3",
|
||||
"typescript": "^5.2.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@astrojs/check": "^0",
|
||||
"@types/leaflet": "^1.9.12",
|
||||
"@types/node": "^20",
|
||||
"@typescript-eslint/eslint-plugin": "^6",
|
||||
"@typescript-eslint/parser": "^6",
|
||||
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
||||
"@typescript-eslint/parser": "^6.21.0",
|
||||
"@vitest/coverage-v8": "^1",
|
||||
"eslint": "^8",
|
||||
"eslint-plugin-astro": "^0.31",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-plugin-astro": "^0.31.4",
|
||||
"typescript": "^5",
|
||||
"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 Card from '../components/Card.astro';
|
||||
import Layout from 'layouts/Layout.astro';
|
||||
import Card from 'components/Card.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