Laget av AI
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.
- 🔐 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
- Backend: Python Flask
- Database: MySQL
- Frontend: HTML5, CSS3, Jinja2 templates
- Forms: Flask-WTF
- Styling: Egendefinert CSS med responsiv design
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
git clone <repository-url>
cd utstyrpython3 -m venv env
source env/bin/activate # På Windows: env\Scripts\activatepip install -r requirements.txt-- 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;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
);Rediger config.py med dine database-detaljer:
DB_CONFIG = {
"host": "localhost",
"user": "din_bruker",
"password": "ditt_passord",
"database": "utstyrdb"
}flask runApplikasjonen kjører nå på http://localhost:5000
- Registrer bruker: Gå til
/registerfor å opprette konto - Logg inn: Bruk
/loginfor å logge inn - Se utstyr:
/utstyrviser alt tilgjengelig utstyr - Lån utstyr:
/lanlar deg låne tilgjengelig utstyr - Se lån:
/lane_listeviser alle aktive lån
- Administrer utstyr direkte i databasen
- Overvåk lån og retur-datoer
export FLASK_ENV=development
flask runINSERT INTO utstyr (navn, tilgjengelig) VALUES ('Nytt utstyr', true);SELECT * FROM lan WHERE dato_levering > NOW();- Responsiv design: Fungerer på desktop, tablet og mobil
- Tilgjengelighet: WCAG 2.1 AA-kompatibel
- Fargepalett: Profesjonell blå/grå tema
- Typografi: Arial for god lesbarhet
- Input-validering på alle felt
- SQL-injection beskyttelse via prepared statements
For spørsmål eller support, kontakt:
- E-post: lånekasse@gmail.com
- Prosjekt: [GitHub Repository]
- 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)