Giter VIP home page Giter VIP logo

online_course_platfrom's Introduction

Online course platfrom

Simple platform for online courses. Users are able to browse through the courses and subscribe to courses they found interesting. Admin users are able to create new courses and modify the courses they have created. Courses are text based. In the future versions payment gateway could be implemented which would enable content creators to collect payments from course partisipants.

Features:

  • User login
  • Admin user feature for more power
  • Course creation, modification and deletion by admin user
  • Course browsing
  • Subscribing to courses after logging in
  • List of courses logged in user have subscribed to

Heroku app

User stories

User manual

Database description

test credentials admin user

  • username: hello
  • password: world

online_course_platfrom's People

Contributors

aleksipa avatar

Watchers

James Cloos avatar  avatar

online_course_platfrom's Issues

Koodikatselmointi 2

ZIP ladattu klo 17.23 25,04.2020

auth

  • Olisi hyvä jos hashaisit salasanan, kun käyttäjä luo uuden tilin

  • User storyssa mainitset että käyttäjä voi kertoa itsestään, tämän kohdan voisi tehdä esimerkiksi siinä, kun käyttäjä luo tiliään, jossa häneltä kysyttäisiin nämä tiedot.

courses

  • Tällä hetkellä kurssilla on muuttuja done, mutta tämän ongelma on siinä että kun yksi käyttäjä ilmottautuu kurssiin, niin se muuttaa kurssin done arvoksi True, jolloin se näkyy toisille käyttäjille myös done, eli hekin ovat siihen ilmottautuneet. Tarkoituksena olisi varmaan tehdä niin että jokaisellä käyttäjällä olisi oma ilmottautuminen kurssiin. Tätä voisit lähestyä sillä tavalla, että teet Many-To-Many taulun, ja teet SQL kyselyn jossa katot että taulusta löytyy yhdistyminen käyttäjällä ja kurssilla. Jos kuitenkaan et tätä tee, niin olisi hyvä että kun painetaa Subscribe nappia, niin arvo vaihtelisi true/false välillä, tämän voit tehdä if else lausekkeella.

  • Tällä hetkellä kurssille annetaan ainoastaan nimi, user storien kurssilla kuuluisi olla selitys yms. mutta nämä puuttuu. Voisit tehdä kurssista linkin joka ohjaisi kurssin omiin tietoihin, ja siellä voisit listata kaikki yleiset tiedot kurssista.

  • User storien mukaan myös käyttäjän pitäisi pystyä luomaan kursseja palveluun, mutta tämä ei ole tällä hetkellä mahdollista.

  • Tein ohjelmaan lokaalisti käyttäjän ADMIN voisi olla hyvä että rekisteröinnissä alustaisit esimerkiksi käyttäjille roolit? Esim kun käyttäjä antaa käyttäjätunnuksen admin, niin rooliksi tulee admin muuten user.

  • my courses listassa kurssin id näyttäminen ei välttämättä ole paras ratkaisu tähän, sillä se on hieman hämmentävä. Olisi myös hyvä jos näistä kursseista olisi myös linkki suoraan kurssin tietoihin.

  • Olisi hyvä että lisäisit muokkaamisen mahdollisuuden kurssin tekijälle, sillä tämä ominaisuus on yksi projektin vaatimus CRUD = create, read, update, and delete. Tiedon muokkaamisen voit tehdä niin että valitset kyseisen kurssin ID, ja laitat sille vain uudet arvot.

Yleistä

  • Ohjelmassasi on tällä hetkellä vasta 2 tietokantataulua, ja vaatimuksissa mainitaan että tulisi olla 3. Voisit tehdä sen Many-To-Many taulun, jossa yhdistät accountin, ja kurssin. En ole kuitenkaan varma että lasketaanko tätä Many-To-Many varsinaiseksi 3 tauluksi, joten olisi hyvä varmistaa ohjaajalta tämä. Voit myös vaihtoehtoisesti tehdä Taulukon kysymykset ja käyttäjät voivat esittää kysymyksiä kurssin omalla sivulla.

Koodikatselmointi

Ladattu 4.4. klo19.17

Projekti pyörii ongelmitta ja sen rakenne on selkeä ja siisti. Itse koodi koostuu aikalailla materiaalista löytyvistä esimerkeistä, joten luonnollisesti se on siistiä ja asianmukaista. Johdonmukaisen nimeämiskäytännön hengessä, suosittelisin vaihtamaan t→c muuttujissa.

Sovelluksen elementit ja sivut ovat selkeitä ja loogisesti polutettu.

Kurssin lisääminen on mutkatonta ja listaus ja subscribe-nappula toimivat. Olisi mukava, että uudella napin painalluksella tilauksen voisi perua. Se onnistuu melko vaivattomasti muokkaamalla courses_set_done-metodia if else:llä tai hyödyntämällä !t.done-rakennetta.
Metodi on muuten nimetty vähän hämäävästi ollaakseen subscribe-toiminto. Joko tässä on unohtunut muokata copy-pastea tai subscribe-toiminto on placeholderina? Tällä hetkellä ei ole ihan selvää vielä mihin user storyysi toiminto liittyy.
Kursseille olisi mukava saada muokkaus/ poisto -toimintoja, mutta ne ovat varmasti tulossa.

Todella pitkä kurssin nimi aiheuttaa vähän hassun näkymän. Pitäisikö kurssin nimelle laittaa maksimipituus tai huomioida asia jotenkin esim. asettelussa?

pitka_nimi

Saman kurssin voi lisätä nyt kahdesti, onko tämä ok projektisi kannalta?

“The following users don't have any subscriptions” heti etusivulla viittaa useisiin käyttäjiin, tällöin tarvitaan varmaankin rekisteröintimahdollisuus. Mutta tämäkin varmasti tulossa.

Käyttäjän tervehdys yläpäneelissa näkyi ainakin itselläni niin tummalla, ettei meinaa erottua nav-barista.

Sovellus on vakaalla alulla, nyt vain lisää omia toiminnallisuuksia ja elementtejä. Työn iloa!

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.