CS50 Web -Programmierung Endprojekt: Nächster Coder
Das Projektvideo lautet: https://youtu.be/ythhec-bdqa
Hauptidee
Ich habe eine kollaborative Webanwendung erstellt, um zu erfahren, wie man codiert. Jeder kann einen Vortrag erstellen (das im Grunde nur Klassen ist) und jeder kann sich für diese Klassen anmelden. Die Hauptkomponenten sind:
- Startseite
- Login/Anmeldung/Register
- Gespräche Seite, in der alle verschiedenen Gespräche oder Klassen aufgeführt sind und in denen Sie Gespräche nach verschiedenen Kriterien filtern können
- Eine einzelne Seite für jedes Gespräch mit allen Informationen und einer Schaltfläche zur Anmeldung
- Eine Seite, auf der Sie auf alle Gespräche zugreifen können, in denen Sie eingeschrieben sind
- Eine Seite zum Erstellen neuer Vorträge
Unterscheidungskraft und Komplexität
Die Seite ähnelt nichts, was wir bereits erstellt haben. Es ist weder eine Social-Media-App noch ein E-Commerce. Es ist auch nicht ähnlich wie bei anderen Jahren.
In Bezug auf die Komplexität habe ich Django mit mehr als einem Modell (unten erklärt) und mehreren JavaScript -Dateien an die Frontend verwendet. Darüber hinaus reagiert die gesamte Webanwendung auf die verschiedenen Bildschirmgrößen (hauptsächlich Mobiltelefone und Computer).
Dateieninformationen
In Ansichten.py gibt es den gesamten Backend -Code. Die Hauptfunktionen sind:
- Klasse NewTalkform mit allen Feldern zum Erstellen eines neuen Vortrags
- Klasse SearchTalkform für Filtergespräche
- Login-, Anmeldungs- und Registerfunktionen von Projekt 4 kopiert
- New_talk zum Speichern eines neuen Vortrags und verwandten Informationen Likes -Tags
- Tags zum Abrufen vorhandener Tags und dem Hinzufügen neuer
- Filter -Tags: Um eine Liste von Gesprächen zurückzugeben, basierend auf den ausgewählten Filtern, die der Benutzer ausgewählt hat
- Get_by_title: Rückgaberichte, in denen die Wörter in Titel, Beschreibung oder Tags erscheinen
- Sprechen Sie, um Informationen über einen bestimmten Vortrag abzurufen
- Registrieren Sie sich: Um einen Vortrag anzumelden
- Get_enrolled_talks: Um die Gespräche abzurufen, in denen Sie eingeschrieben sind
Models.py. Die verschiedenen Modelle sind:
- Ein Benutzermodell
- Ein Modell für Tags
- Ein Modell spricht mit all den verschiedenen Details zu einem Vortrag (und einem Serializer)
Gespräche.JS: Um Gespräche zu filtern, die Gespräche zu zeigen und automatisch zu vervollständigen, wenn Sie nach einem Vortrag suchen
New_talk.js: Für den zweiten Teil des Erstellens eines neuen Vortrags, das Tags hinzufügt. Es lädt und zeigt Tags, spart neue Tags und fügt die ausgewählten Tags dem neuen Vortrag hinzu
Mytalks.js: Um die Gespräche zu erhalten, in denen Sie eingeschrieben sind, und sie im Dom zeigen
Vorlagen für alle oben erläuterten HTML -Seiten (insgesamt 8 einschließlich einer Layoutdatei)
Eine CSS -Datei mit allen in der Webanwendung verwendeten CSS. Techniken wie Flexbox und Grid werden verwendet
Andere weniger wichtige Dateien wie URLs, Administrator, Einstellungen, statische Bilder ...
So führen Sie die Anwendung aus
- Installieren Sie Projektabhängigkeiten durch Ausführen von PIP -Installation -r -Anforderungen.txt
- Migrationen erstellen und anwenden, indem Sie Python verwalten.