Giter Club home page Giter Club logo

hochschule-muenchen-app-store's Introduction

🤘🏼 🤘🏼 Appmon 🤘🏼 🤘🏼

Umsetzung 👨🏼‍💻

    > Alexander M. Westphal 😎 
    > Paul Schröder 🤓

FAQ ❓ ❔ ❓ ❔ ❓

Was ist Appmon ❓

Appmon ist ein Appstore für die Hochschule München. Er bietet die Möglichkeit sich 
anzumelden bzw. sich zu registieren und Software anzulegen und herunterzuladen. Hierbei 
ist er nicht nur für eine Fakultät vorgesehen und auch nicht nur für Professoren 
sondern auch für Studenten jeder Fakultät. Studenten die 
nicht der Hochschule München angehören haben die Option sich als externer Student 
anzumelden und so Software herunterzuladen oder zu veröffentlichen. Da natürlich ein 
gewisser Qualitätsstandart gewahrt werden soll, kann ein Creator (Appersteller) durch 
ein Administrator zu einem verifizierten Nutzer erhoben werden (zu erkennen an einem 
grünen Haken neben dem Namen des Creators auf dessen Profilseite) und somit als 
verlässliche Quelle betrachtet werden. 

Für wen ist Appmon ❔

Für Studenten, Professoren, wissenschaftliche Mitarbeiter und externe 
Kooperationspartner (Studenten und Professoren sowie Mitarbeiter anderer Hochschulen).

👨🏼‍🎓 👩🏼‍🎓 👩🏼‍🏫 👨🏼‍🏫 👩🏼‍🔧 👨🏼‍🔧 👩🏼‍🔬 👨🏼‍🔬

Wie bekomme ich einen Zugang zu Appmon ❓

Einfach auf der Seite registieren und einloggen!
 
--> hmappstore.heroku-app.com/signup 

Ich bin nicht von der FK07 kann ich Appmon trotzdem nutzen ❔

Natürlich! Jeder der Hochschule München ist willkommen! Hierbei ist es egal ob du von 
der Hochschule München kommst oder von einer anderen Fakultät bist. Registiere dich
einfach und teile deine Software oder deinen Service mit anderen. 

Screenshots/Mockups unseres Stores

Startbildschirm

Startbildschim mir offenem Menu

Ansicht eines Creatorprofiles

Liste aller Apps - Ansicht

Erstellen/Anlegen einer neuen App - Ansicht

Registrieren - Ansicht

Login - Ansicht

Detailansicht einer App

Technische Aspekte (für Nerds 👾 🤓)

    1. Python Django (Backend) 🐍
        1. Version Python: 3.7
        2. Version Django: 2.2
    2. ReactJS (Frontend) 💫
        1. Version npm: 6.8.0
        2. Version React: 16.8.6
        3. Version NodeJS: 11.10.0
    3. Gunicorn (Webserver) 🦄
        1. Version Gunicorn: 19.9.0
        2. Version Django-WSGI: 2.2 (Python 3.7)
    4. PostGresSQL/SQLite3 (Datenbank) 🐘 🕊
        1. SQLite3 (Entwicklungsdatenbank): 3.27.2
        2. Version PostGresSQL (Produktivdatenbank): 11.2
    

Python Module (notwendig) 🐍

    attrs==19.1.0
    autobahn==19.3.2
    Automat==0.7.0
    certifi==2019.3.9
    chardet==3.0.4
    colorama==0.4.1
    constantly==15.1.0
    defusedxml==0.5.0
    dj-database-url==0.5.0
    Django==2.1.7
    django-allauth==0.37.1
    django-channels==0.7.0
    django-cors-headers==2.5.2
    django-filter==2.1.0
    django-rest-auth==0.9.3
    djangorestframework==3.9.1
    gunicorn==19.9.0
    hyperlink==18.0.0
    idna==2.8
    incremental==17.5.0
    isort==4.3.15
    lazy-object-proxy==1.3.1
    Markdown==3.0.1
    mccabe==0.6.1
    oauthlib==3.0.1
    Pillow==5.4.1
    psycopg2==2.7.7
    psycopg2-binary==2.7.7
    PyHamcrest==1.9.0
    pylint==2.3.1
    pylint-django==2.0.6
    python3-openid==3.1.0
    pytz==2018.9
    requests==2.21.0
    requests-oauthlib==1.2.0
    six==1.12.0
    txaio==18.8.1
    typed-ast==1.3.1
    urllib3==1.24.2
    whitenoise==4.1.2
    wrapt==1.11.1
    zope.interface==4.6.0

Projekt-Struktur 📁

    1. Django-Projekt (Python/Backend) 📁
        1. Microservices 
            1. app_product (Model und funktionen einer APP für den Appstore)
            2. appstorehm (Hauptapp die alle anderen Microservices verwaltet)
            3. restService verantwortlich für alle REST-API funktionen
            4. users Micorservice für das Usermanagement (+ Models und Manager)
    2. ReactJS (Frontend) 📁
        1. /build enthält alle gebauten ReactJS-Dateien
        2. /pulbic alle öffentlich zugänglichen nicht-Django-static-Dateien
        3. package(-json),yarn.lock information über npm, react, etc.
        4. /src sourceefolder der ReactJS Dateien
    3. Heroku spezifische Dateien 📁
        1. Procfile (Heroku file für Prozesse)
        2. Runtime.txt (Runtime version für Python)
        3. Requirements.txt (Notwendige Packete für Django/Python)
    4. Staticfiles (Javascript [nicht ReactJS], CSS, Bilder, etc.) 📁
        1. /static/ enthält alle statischen Dateien im Entwicklungsmodus
        2. /live-static-files/ enthält alle Dateien für Productionsmodus
    5. Sonstige Dateien (Medien/etc.) 📁
        1. gimp_files (enthält alle gimp Dateien für Logos, etc.)
        2. gitfiles (README.md, gitignore, gitattributes)
        3. /testJson enthält testprogramme für die REST-API

REST-API-URL

    Basisadresse: www.hostname.de/api/... 

    1. /apps/... (Gibt ein set mit allen Apps zurück) ✔️
        1. /new (erzeigt eine neue App in der Datenbank)
        2. /newest (Set sortiert mit den neuesten Apps absteigend)
        3. /oldest (Set sortiert mit den ältesten Apps absteigend)
        4. /mostdownloads (Set sortiert mit den erfolgreichstens Apps absteigend)
        5. /lessdownloads (Set sortiert mit den erfolgreichstens Apps aufsteigend)
        6. /<int:pk> (gibt detailierte Informationen über die App aus)
        7. /creator/c/<int:creator> (Gibt Informationen über den Creator aus)
        8. /search (Ermöglicht die Sucher einer App über deren Namen)
        9. /delete (löscht eine App)
        10. /changeapp (ändert Attribute einer App, wie Appname, Beschreibung etc.=

        # not in use so dont use them ❌

        11. /creator/<int:creator> / (Gibt alle Apps eines Creators)
        12. /newcomments (Erzeugt einen neuen Kommentar)
        13. /changecomment (ermöglicht das ändern eines Kommentars)

    2. /users/ ... (Gibt ein Set mit allen usern zurück) ✔️
        1. /new (Erzeugt einen neuen User)
        2. /login (Logged einen User ein)

Installation des Projekts

    Notwendig für die Installtion im Entwicklungsmodus siehe oben Technische Informationen 
    1. Anlegen eines Ordners (Name egal)
    2. Einrichten eines Virtual Environment 
        2.1 python3 -m venv (name des env)
        2.2 Aktivieren des Env
            2.2.1 Unter Windows --> (name des env)\Scripts\activate.bat
            2.2.2 Unter MAC und Linux -->  source (name des env)/bin/activate
    3. pip install -r requierments.txt --> (Installation der Python packages)
    4. npm install -->  (um alle Nodemoduels zu installieren)
    5. npm run-script build --> (damit die Seiten gebuildet werden nur nodwendig für Produktionslauf)
    6. npm start --> (für den Developmentserver von npm)
    6. python manage.py runserver (sollten sich python2 und 3 auf dem PC befinden dann python3 manage.py runserver)

Ziele und Verbesserungen für die Zukunft 📈 🔮

    1. Eine Verbindung der Accounts mit offiziellen Primusaccounts  ✅
    2. Höhere Vielfalt an Apps und Software 🎏
    3. Mobile Appstore 📱

Release 🥂

    Releaseplan 📅

    1. Release v. 1.0 am 01.05.2019
    2. Release v. (noch in Planung)

hochschule-muenchen-app-store's People

Contributors

dependabot[bot] avatar deralexmeister avatar gsocher avatar schroedp avatar

hochschule-muenchen-app-store's Issues

Code clean up

Der Code sollte am besten noch einmal aufgeräumt werden und vlt restrukturiert.

Minor Fixed

kleine Anpassung auf den Seiten --> Rechtschreibfehler etc

ToDo

  • Globvar binden
  • letzte fehler fixen
  • Deploy Heroku
  • Build NPM
  • Test daten wenn auf Heroku
  • Python Unit Tests Prüfen
  • NPM Problems
  • Testdaten in Datenbank
  • GitHub Release
  • finale Version LRZ

Change und Delete User

ReactJS umsetzten
Django REST Methode Testen
Django URL-Path fehlt noch
Path in die Readme eintragen

Registrieren

restliche Felder in das Registrierungsformular einbauen

Release 1

  • Über alle Seiten gehen
  • Kleine Probleme beheben
  • Daten zum testen in Datenbank

Kommentar Funktion

schreiben, löschen, bearbeiten,
ggf prüfen ob user das kommentar gehört

Mockup

mockups anfertigen und abgeben

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.