Skip to content

Sjefern/utstyr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laget av AI

Utstyrssystem 📦

Et komplett web-basert utstyrsutlånssystem laget med Flask og MySQL. Systemet lar brukere registrere seg, logge inn og låne utstyr som kameraer, PC-er, kabler og annet teknisk utstyr.

✨ Funksjoner

  • 🔐 Brukeradministrasjon: Registrering og innlogging av brukere
  • 📋 Utstyrsoversikt: Se alt tilgjengelig utstyr
  • 📅 Utlånsfunksjonalitet: Lån utstyr med angivelse av låneperiode
  • 📊 Låneliste: Oversikt over alle aktive lån
  • 🎨 Moderne UI: Responsiv design med profesjonell styling
  • ♿ Universell utforming: Fullt tilgjengelig for tastatur og skjermlesere

🛠️ Teknologier

  • Backend: Python Flask
  • Database: MySQL
  • Frontend: HTML5, CSS3, Jinja2 templates
  • Forms: Flask-WTF
  • Styling: Egendefinert CSS med responsiv design

📁 Prosjektstruktur

utstyr/
├── app.py                 # Hovedapplikasjon
├── config.py             # Databasekonfigurasjon
├── forms.py              # WTForms definisjoner
├── app.wsgi              # WSGI konfigurasjon
├── static/
│   └── style.css         # CSS-styling
├── templates/
│   ├── base.html         # Basissmal
│   ├── index.html        # Forside
│   ├── register.html     # Registreringsskjema
│   ├── login.html        # Innloggingsskjema
│   ├── utstyr.html       # Utstyrsoversikt
│   ├── lan_utstyr.html   # Låneskjema
│   └── lane_liste.html   # Låneliste
├── env/                  # Virtual environment
└── __pycache__/          # Python cache-filer

🚀 Installasjon og oppsett

1. Klon prosjektet

git clone <repository-url>
cd utstyr

2. Sett opp virtual environment

python3 -m venv env
source env/bin/activate  # På Windows: env\Scripts\activate

3. Installer avhengigheter

pip install -r requirements.txt

4. Database-oppsett

Opprett databaser i MySQL:

-- Opprett hoveddatabase
CREATE DATABASE utstyrdb;

-- Opprett logindatabase
CREATE DATABASE login;

-- Gi rettigheter til brukeren
GRANT ALL PRIVILEGES ON utstyrdb.* TO 'utvikling'@'localhost' IDENTIFIED BY 'Seba***';
GRANT ALL PRIVILEGES ON login.* TO 'utvikling'@'localhost' IDENTIFIED BY 'Seba**';
FLUSH PRIVILEGES;

Opprett tabeller:

I utstyrdb:

-- Utstyr-tabell
CREATE TABLE utstyr (
    id INT AUTO_INCREMENT PRIMARY KEY,
    navn VARCHAR(255) NOT NULL,
    tilgjengelig BOOLEAN DEFAULT TRUE
);

-- Lån-tabell
CREATE TABLE lan (
    id INT AUTO_INCREMENT PRIMARY KEY,
    utstyr_id INT,
    navn_laner VARCHAR(255),
    dato_lant DATETIME,
    dato_levering DATETIME,
    FOREIGN KEY (utstyr_id) REFERENCES utstyr(id)
);

-- Sett inn eksempeldata
INSERT INTO utstyr (navn, tilgjengelig) VALUES
('Canon EOS R5', true),
('MacBook Pro 16"', true),
('HDMI-kabel 2m', true),
('USB-C adapter', true);

I login:

-- Bruker-tabell
CREATE TABLE brukere (
    id INT AUTO_INCREMENT PRIMARY KEY,
    navn VARCHAR(255) NOT NULL,
    brukernavn VARCHAR(255) UNIQUE NOT NULL,
    passord VARCHAR(255) NOT NULL,
    adresse TEXT
);

5. Konfigurer database-tilkobling

Rediger config.py med dine database-detaljer:

DB_CONFIG = {
    "host": "localhost",
    "user": "din_bruker",
    "password": "ditt_passord",
    "database": "utstyrdb"
}

6. Kjør applikasjonen

flask run

Applikasjonen kjører nå på http://localhost:5000

📖 Bruk

For besøkende:

  1. Registrer bruker: Gå til /register for å opprette konto
  2. Logg inn: Bruk /login for å logge inn
  3. Se utstyr: /utstyr viser alt tilgjengelig utstyr
  4. Lån utstyr: /lan lar deg låne tilgjengelig utstyr
  5. Se lån: /lane_liste viser alle aktive lån

For administratorer:

  • Administrer utstyr direkte i databasen
  • Overvåk lån og retur-datoer

🔧 Utvikling

Kjør i utviklingsmodus:

export FLASK_ENV=development
flask run

Legg til nytt utstyr:

INSERT INTO utstyr (navn, tilgjengelig) VALUES ('Nytt utstyr', true);

Sjekk aktive lån:

SELECT * FROM lan WHERE dato_levering > NOW();

🎨 Styling og design

  • Responsiv design: Fungerer på desktop, tablet og mobil
  • Tilgjengelighet: WCAG 2.1 AA-kompatibel
  • Fargepalett: Profesjonell blå/grå tema
  • Typografi: Arial for god lesbarhet

🔒 Sikkerhet

  • Input-validering på alle felt
  • SQL-injection beskyttelse via prepared statements

📞 Kontakt

For spørsmål eller support, kontakt:

🔄 Versjonshistorikk

  • v1.0.0: Første utgivelse med grunnleggende utlånsfunksjonalitet
  • v1.1.0: Lagt til brukerregistrering og innlogging
  • v1.2.0: Forbedret UI/UX og responsiv design
  • v1.3.0: Tilgjengelighetsforbedringer (WCAG-kompatibilitet)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors