add: folder of the backend
Some checks failed
/ deploy (push) Failing after 5s

This commit is contained in:
dorian melenotte 2024-09-10 18:08:10 +02:00
parent b819ce74d5
commit 9e06e92c57
48 changed files with 527 additions and 39 deletions

175
back-end/.gitignore vendored Normal file
View File

@ -0,0 +1,175 @@
# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
# Logs
logs
_.log
npm-debug.log_
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Caches
.cache
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
# Runtime data
pids
_.pid
_.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
# IntelliJ based IDEs
.idea
# Finder (MacOS) folder config
.DS_Store

15
back-end/README.md Normal file
View File

@ -0,0 +1,15 @@
# back-end
To install dependencies:
```bash
bun install
```
To run:
```bash
bun run index.ts
```
This project was created using `bun init` in bun v1.1.18. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.

BIN
back-end/bun.lockb Executable file

Binary file not shown.

29
back-end/index.js Normal file
View File

@ -0,0 +1,29 @@
import { PrismaClient } from "@prisma/client";
const client = new PrismaClient();
client.$connect();
console.log("conected");
function createuser() {
client.user
.create({
data: {
email: "exemple@gmrgerail.com",
pswd: "1234",
username: "lazlor",
},
})
.then(() => {});
}
//createuser();
async function getuser(req, res) {
const posts = await client.user.findMany({
where: {
username: "lazlor",
},
});
console.log(posts);
}
getuser();
client.$disconnect();

15
back-end/package.json Normal file
View File

@ -0,0 +1,15 @@
{
"name": "back-end",
"module": "index.ts",
"type": "module",
"devDependencies": {
"@types/bun": "latest",
"prisma": "5.19.1"
},
"peerDependencies": {
"typescript": "^5.0.0"
},
"dependencies": {
"@prisma/client": "5.19.1"
}
}

View File

@ -0,0 +1,10 @@
-- CreateTable
CREATE TABLE `User` (
`id` INTEGER NOT NULL,
`username` VARCHAR(191) NOT NULL,
`pswd` VARCHAR(191) NOT NULL,
`email` VARCHAR(191) NOT NULL,
UNIQUE INDEX `User_id_key`(`id`),
UNIQUE INDEX `User_email_key`(`email`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

View File

@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE `User` MODIFY `id` INTEGER NOT NULL AUTO_INCREMENT;

View File

@ -0,0 +1,3 @@
# Please do not edit this file manually
# It should be added in your version-control system (i.e. Git)
provider = "mysql"

View File

@ -0,0 +1,21 @@
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model User {
id Int @unique @default(autoincrement())
username String
pswd String
email String @unique
}

27
back-end/tsconfig.json Normal file
View File

@ -0,0 +1,27 @@
{
"compilerOptions": {
// Enable latest features
"lib": ["ESNext", "DOM"],
"target": "ESNext",
"module": "ESNext",
"moduleDetection": "force",
"jsx": "react-jsx",
"allowJs": true,
// Bundler mode
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"noEmit": true,
// Best practices
"strict": true,
"skipLibCheck": true,
"noFallthroughCasesInSwitch": true,
// Some stricter flags (disabled by default)
"noUnusedLocals": false,
"noUnusedParameters": false,
"noPropertyAccessFromIndexSignature": false
}
}

View File

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

Before

Width:  |  Height:  |  Size: 882 KiB

After

Width:  |  Height:  |  Size: 882 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

230
front_end/vite Normal file
View File

@ -0,0 +1,230 @@
mysql Ver 15.1 Distrib 10.11.8-MariaDB, for Linux (x86_64) using EditLine wrapper
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Usage: mysql [OPTIONS] [database]
Default options are read from the following files in the given order:
/etc/my.cnf ~/.my.cnf
The following groups are read: mysql mariadb-client client client-server client-mariadb
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit.
--no-defaults Don't read default options from any option file.
The following specify which files/extra groups are read (specified before remaining options):
--defaults-file=# Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.
--defaults-group-suffix=# Additionally read default groups with # appended as a suffix.
-?, --help Display this help and exit.
-I, --help Synonym for -?
--abort-source-on-error
Abort 'source filename' operations in case of errors
--auto-rehash Enable automatic rehashing. One doesn't need to use
'rehash' to get table and field completion, but startup
and reconnecting may take a longer time.
(Defaults to on; use --skip-auto-rehash to disable.)
-A, --no-auto-rehash
No automatic rehashing. One has to use 'rehash' to get
table and field completion. This gives a quicker start of
mysql and disables rehashing on reconnect.
--auto-vertical-output
Automatically switch to vertical output mode if the
result is wider than the terminal width.
-B, --batch Don't use history file. Disable interactive behavior.
(Enables --silent.)
--binary-as-hex Print binary data as hex
--binary-mode Binary mode allows certain character sequences to be
processed as data that would otherwise be treated with a
special meaning by the parser. Specifically, this switch
turns off parsing of all client commands except \C and
DELIMITER in non-interactive mode (i.e., when binary mode
is combined with either 1) piped input, 2) the --batch
mysql option, or 3) the 'source' command). Also, in
binary mode, occurrences of '\r\n' and ASCII '\0' are
preserved within strings, whereas by default, '\r\n' is
translated to '\n' and '\0' is disallowed in user input.
--character-sets-dir=name
Directory for character set files.
--column-names Write column names in results.
(Defaults to on; use --skip-column-names to disable.)
-N, --skip-column-names
Don't write column names in results.
--column-type-info Display column type information.
-c, --comments Preserve comments. Send comments to the server. The
default is --skip-comments (discard comments), enable
with --comments.
-C, --compress Use compression in server/client protocol.
--connect-expired-password
Notify the server that this client is prepared to handle
expired password sandbox mode even if --batch was
specified.
--connect-timeout=# Number of seconds before connection timeout.
-D, --database=name Database to use.
-#, --debug[=#] This is a non-debug version. Catch this and exit.
--debug-check Check memory and open file usage at exit.
-T, --debug-info Print some debug info at exit.
--default-auth=name Default authentication client-side plugin to use.
--default-character-set=name
Set the default character set.
--delimiter=name Delimiter to be used.
--enable-cleartext-plugin
Obsolete option. Exists only for MySQL compatibility.
-e, --execute=name Execute command and quit. (Disables --force and history
file.)
-f, --force Continue even if we get an SQL error. Sets
abort-source-on-error to 0
-h, --host=name Connect to host.
-H, --html Produce HTML output.
-i, --ignore-spaces Ignore space after function names.
--init-command=name SQL Command to execute when connecting to MariaDB server.
Will automatically be re-executed when reconnecting.
--line-numbers Write line numbers for errors.
(Defaults to on; use --skip-line-numbers to disable.)
-L, --skip-line-numbers
Don't write line number for errors.
--local-infile Enable LOAD DATA LOCAL INFILE.
--max-allowed-packet=#
The maximum packet length to send to or receive from
server.
--max-join-size=# Automatic limit for rows in a join when using
--safe-updates.
-G, --named-commands
Enable named commands. Named commands mean this program's
internal commands; see mysql> help . When enabled, the
named commands can be used from any line of the query,
otherwise only from the first line, before an enter.
Disable with --disable-named-commands. This option is
disabled by default.
--net-buffer-length=#
The buffer size for TCP/IP and socket communication.
-b, --no-beep Turn off beep on error.
-o, --one-database Ignore statements except those that occur while the
default database is the one named at the command line.
--pager[=name] Pager to use to display results. If you don't supply an
option, the default pager is taken from your ENV variable
PAGER. Valid pagers are less, more, cat [> filename],
etc. See interactive help (\h) also. This option does not
work in batch mode. Disable with --disable-pager. This
option is disabled by default.
-p, --password[=name]
Password to use when connecting to server. If password is
not given it's asked from the tty.
--plugin-dir=name Directory for client-side plugins.
-P, --port=# Port number to use for connection or 0 for default to, in
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/services, built-in default (3306).
--progress-reports Get progress reports for long running commands (like
ALTER TABLE)
(Defaults to on; use --skip-progress-reports to disable.)
--prompt=name Set the command line prompt to this value.
--protocol=name The protocol to use for connection (tcp, socket, pipe).
-q, --quick Don't cache result, print it row by row. This may slow
down the server if the output is suspended. Doesn't use
history file.
-r, --raw Write fields without conversion. Used with --batch.
--reconnect Reconnect if the connection is lost.
(Defaults to on; use --skip-reconnect to disable.)
-U, --safe-updates Only allow UPDATE and DELETE that uses keys.
-U, --i-am-a-dummy Synonym for option --safe-updates, -U.
--sandbox Disallow commands that access the file system (except \P
without an argument and \e).
--secure-auth Refuse client connecting to server if it uses old
(pre-4.1.1) protocol.
--select-limit=# Automatic limit for SELECT when using --safe-updates.
--server-arg=name Send embedded server this as a parameter.
--show-warnings Show warnings after every statement.
--sigint-ignore Ignore SIGINT (CTRL-C).
-s, --silent Be more silent. Print results with a tab as separator,
each row on new line.
-S, --socket=name The socket file to use for connection.
--ssl Enable SSL for connection (automatically enabled with
other flags).
(Defaults to on; use --skip-ssl to disable.)
--ssl-ca=name CA file in PEM format (check OpenSSL docs, implies
--ssl).
--ssl-capath=name CA directory (check OpenSSL docs, implies --ssl).
--ssl-cert=name X509 cert in PEM format (implies --ssl).
--ssl-cipher=name SSL cipher to use (implies --ssl).
--ssl-key=name X509 key in PEM format (implies --ssl).
--ssl-crl=name Certificate revocation list (implies --ssl).
--ssl-crlpath=name Certificate revocation list path (implies --ssl).
--tls-version=name TLS protocol version for secure connection.
--ssl-verify-server-cert
Verify server's "Common Name" in its cert against
hostname used when connecting. This option is disabled by
default.
-t, --table Output in table format.
--tee=name Append everything into outfile. See interactive help (\h)
also. Does not work in batch mode. Disable with
--disable-tee. This option is disabled by default.
-n, --unbuffered Flush buffer after each query.
-u, --user=name User for login if not current user.
-v, --verbose Write more. (-v -v -v gives the table output format).
-V, --version Output version information and exit.
-E, --vertical Print the output of a query (rows) vertically.
-w, --wait Wait and retry if connection is down.
-X, --xml Produce XML output.
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- ----------------------------------------
abort-source-on-error FALSE
auto-rehash TRUE
auto-vertical-output FALSE
binary-as-hex FALSE
binary-mode FALSE
character-sets-dir (No default value)
column-names TRUE
column-type-info FALSE
comments FALSE
compress FALSE
connect-expired-password FALSE
connect-timeout 0
database (No default value)
debug-check FALSE
debug-info FALSE
default-auth (No default value)
default-character-set auto
delimiter ;
force FALSE
host (No default value)
html FALSE
ignore-spaces FALSE
init-command (No default value)
line-numbers TRUE
local-infile FALSE
max-allowed-packet 16777216
max-join-size 1000000
named-commands FALSE
net-buffer-length 16384
no-beep FALSE
plugin-dir (No default value)
port 0
progress-reports FALSE
prompt \N [\d]>
protocol
quick FALSE
raw FALSE
reconnect FALSE
safe-updates FALSE
i-am-a-dummy FALSE
sandbox FALSE
secure-auth FALSE
select-limit 1000
show-warnings FALSE
sigint-ignore FALSE
socket (No default value)
ssl TRUE
ssl-ca (No default value)
ssl-capath (No default value)
ssl-cert (No default value)
ssl-cipher (No default value)
ssl-key (No default value)
ssl-crl (No default value)
ssl-crlpath (No default value)
tls-version (No default value)
ssl-verify-server-cert FALSE
table FALSE
unbuffered FALSE
user lazlor
vertical FALSE
xml FALSE

View File

@ -1,10 +0,0 @@
const mysql = require("mysql2");
const pool = mysql.createPool({
host: "localhost",
user: "lazlor",
password: "amidorian04",
database: "firstdb",
});
module.exports = pool.promise();

View File

@ -1,5 +0,0 @@
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL
);

View File

@ -1,24 +0,0 @@
const express = require("express");
const bodyParser = require("body-parser");
const pool = require("./dataBase");
const app = express();
app.use(bodyParser.json());
app.post("/api/register", async (req, res) => {
const { email, password } = req.body;
try {
const [result] = await pool.query(
"INSERT INTO users (email, password) VALUES (?, ?)",
[email, password]
);
res.status(201).json({ id: result.insertId, email });
} catch (error) {
console.error(error);
res.status(500).json({ error: "Erreur lors de l'inscription" });
}
});
app.listen(3000, () => {
console.log("Server is running on port 3000");
});