Projekt von Rahil Chughtai und Christopher John für Kurs Web-Engineering 2 TINF20AI2. Die Applikation stellt eine e-commerce Plattform speziell für die Manga Niche dar. Die Manga Daten werden mithilfe der JIKAN-API über HTTP requests gefetched.
Die Empfohlenen möglichkeiten, um die Applikation zu starten sind:
- Über Gitpod
- Über die öffentlich Domäne: https://manga-miracle-tinf20ai2.web.app/
- Lokales ausführen mit
ng serve
Zum Einloggen kann der Account
- email: user@user.de
- pw: sh7up#KT!
verwendet werden. Alternativ kann ein neuer Account über die Registrierung erstellt werden, oder das Google-Login kann benutzt werden.
- Angular 13
- Angular Material
- Angular Flex layout
- Angular Fire
- Firebase
- Firestore
- Firebase hosting
- Firebase authentication
- JikanApi
- Login
- Firebase Login/Registrierung mit Email/Passwort oder Google
- Favoriten
- Hinzufügen/Entfernen und Anzeigen von Favoriten
- Manga Details
- Verfassen und Einsehen von Nutzer Kommentaren
- Manga Suche
- Filterung, Sortierung nach verschiedenen Attributen
- Warenkorb
- Hinzufügen/Entfernen zum Warenkorb
- Bestellungen
- Abschließen einer Bestellung
- Anzeigen aller Bestellungen
- Profil
- Profilansicht, die bearbeitet werden kann
- Profile
- Login/Register
- Home (Landing Page der Seite)
- Cart (Warenkorb)
- Checkout (Zur Kasse)
- Favorites (Einsehen der gespeicherten Favoriten)
- Orders (Bestellungsansicht)
- Manga-List (Suche, Filterung von Mangas)
- Manga-Detail (Detail Ansicht eines Mangas)
- components
- Hier befinden sich alle wiederverwendbare UI Komponenten
- pages
- In diesem Ordner befinden sich die verschiedenen Hauptseiten der Anwendung, die der Nutzer über die Routen einsehen kann
- shared
- Utilities, Models und andere Einheiten, die innerhalb der Applikation, übergreifend verwendet werden können befinden sich hier
Wir nutzen die JIKAN-API, eine open-source PHP & REST API, welche eine Schnittstelle zu der online Anime+Manga Datenbank MyAnimeList.net bietet. Über den Angular HTTP-Client werden API Requests verschickt und verarbeitet.
Docs: https://jikan.moe/
Verwendung in: app/shared/services/manga-api.ts
Zur Persistenz von Daten wird der Firestore Service von Firebase genutzt. Das Login wird auch über den Firebase Service gehandled.
Firebase Firestore nutzt eine Collection/Document basierte Datenbank. Das Diagramm zeigt die verwendete Struktur.
Das folgende Diagramm zeigt den User Workflow. Hierbei wurde sich auf das Bestell-Feature fokussiert.
Automatisch Generierter Text von Angular CLI:
This project was generated with Angular CLI version 13.3.3.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The application will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.