GithubHelp home page GithubHelp logo

fotm's Introduction

jlab - Flavour of the Now

University of Helsinki Java assignment for "Javalabra 2013"

Need to use a database for your program? This app will tell you which one to choose. Flavour of the Now (FOTN) parses Twitter feeds to determine what is your database of choice. The base functionality of the app is built upon the Twitter API 1.1, and it uses the twitter4j library. It runs a Java Servlet front-end, although the results don't necessarily have only limited use. Users primarily make requests to the servlet, when the core logic does its work behind the scenes.

Instructions

To run the app, simply clone the source and run the following in jlab/:

$ mvn clean package
$ java -jar target/dependency/jetty-runner.jar <--port {number}> target/<war package>.war

After jetty-runner is launched, open your browser at localhost:8080. By specifying --port before the .war package, you can run it at any available port. Maven Jetty plugin is also included, so you can use mvn jetty:run as well.

If you need to test the app, you can register an app @ https://dev.twitter.com/

fotm's People

Contributors

narkkil avatar

Watchers

 avatar  avatar

fotm's Issues

Koodikatselmointi

Ladattu 1.12.2013 klo 14:45

Tervehdys! Ota kommenteissa huomioon, että olen sivuaineopiskelija ja servletit sun muut on täysin uutta. Javaakaan en ole ennen tätä pahemmin koodannut, mutta toivottavasti täältä löytyy edes jotain sinulle.

Latasin reposta zipin ja buildasin Netbeansin kautta, kun Mavenia ei ole. Toimi hyvin sekin. Sain runnattua ohjelmaa, mutta jäi vaiheeseen: [email protected]:8080 STARTING,
joten todennäköisesti en vain osannut localhostia. Ajoin siis komentorivillä:

java -jar target/dependency/jetty-runner.jar --port 8080 target/jlab.war

Käyttöohjeessa tuon jälkimmäisen targetin edessä oleva slash on tilannekohtaisesti ylimääräinen? Ainakin itselläni herjasi ennenkuin sen poisti (git bashin kautta ajoin). Käyttöohje ei vaikuta kauhean projektikohtaiselta, joten sitä voisi täsmentää?

Yleisesti

Ohjelmakoodi näytti siistiltä. Nimeämiset olivat selkeitä eivätkä metodit olleet pitkiä.
Luokilla oli omat selkeät vastuut ja pakkausjako oli toimiva. Testit olivat selkeitä, eikä niitä tarvinnut sen kummemmin ihmetellä. Luokkakaavio ja sekvenssikaaviot olivat myös helpot ymmärtää. Kaikki testit menivät mukavasti läpi.

JavaDoc:sta

Koodi näytti hyvin dokumentoidulta, seuraavassa kehitysehdotuksia:

TwitterCache.java:n luokkakuvaus sisältää konstruktorin parametrin selvennystä, voisiko tämän siirtää konstruktorin kuvaukseen, jotta olisi selkeämpi?

HitEvaluator.java:n setUrl-metodin toimintaa voisi kuvata, että olisi helpompi ymmärtää mitä metodin kutsussa tarkasti ottaen tapahtuu.

TwitterEvaluator.java:n luokkakuvauksessa olevat ckey ja csecret eivät esiinny sellaisenaan luokassa taikka config.ini:ssä. Ne siis pitäisi vaihtaa? Konstruktorin toimintaa voisi kuvata, vaikka aika kuvaavia nuo metodikutsut ovat.

Loppusanat

Tekemistä näyttää vielä riittävän, mutta aihe on mielenkiintoinen. Omalle skillitasolleni liian huima projekti. Suosittelen https://www.websequencediagrams.com/ :n käyttöä sekvenssikaavioiden piirtämiseen. Ainakin itselläni toimi nopeammin kuin käsin vääntäminen, varsinkin jos virheitä sattuu. Mukavat Joulut!

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.