Code Monkey home page Code Monkey logo

meme-grid's People

Contributors

0xtmphey avatar arjank avatar azisuazusa avatar edvinas01 avatar fejd avatar felix1898 avatar jchris85 avatar mscibilia avatar norangebit avatar the-bose avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

meme-grid's Issues

Standardize libraries

Currently the project uses some Java libraries and some Kotlin libraries. Due to this the APIs of these libraries differ and make the code messy. Find Kotlin alternatives to Java libraries.

Candidates:

  • org.json:json
  • org.slf4j:slf4j-log4j12
  • com.sparkjava:spark-core
  • commons-cli:commons-cli

Heroku

Add Heroku config. Want to re-host this there 4 free instead of self hosting.

Header z-index is wrong

When I hover on image, it appears on top the header. I think it's the problem with CSS z-index.

Bug

Cheers!

JWT support

Add JWT authentication for POST requests (https://github.com/jwtk/jjwt can be used). This will require the following:

  • Config parameter to pass in a secret which will be used to decode the tokens.
  • Filter which will validate POST request JWT which should be stored in a header. The header should be Authorization, with the value which follows the pattern Bearer ${JWT_GOES_HERE}.
  • If token is invalid, 401 should be returned with some message.

Sort memes by day

In my opinion, it would be nice to memes sorting feature. That also would decrease chance to see same meme many times.

Cheers!

Setup API tests

There are 4 REST endpoints in total, they should be covered by tests to ensure API contract. These tests should only validate the response format and if input is correctly read by the routes/controllers. The logic behind these routes should not be tested and should be mocked. If its impossible to mock something (for example the class is not open and doesn't implement an interface) then the code can be changed as well.

Personally I'm not familiar with testing libraries for Kotlin and would go with JUnit4 + AssertJ, though any other library can be used if its suitable and looks nice.

Ability to pin liked memes

It would be nice that people could pin they loved memes in the grid. For example, It could be cookies based.

Use Ktor

Currently it's kinda messy using Java back-end libs. Ktor also seems nice and would reduce a lot of boilerplate - so use that.

Validate URLs

Validate URLs which are submitted via API. If URL is invalid, 400 status code with an appropriate message should be returned.

Also keep in mind that currently only images are supported, this should be taken into account as well.

I Request List Support

Greetings, Developer,

It would be greatly appreciated if your software product could serve them memes in a list fashion.

An exemplification:

  • Meme 1
  • Meme 2
  • Meme 3
  • Meme 8
  • Meme 7

Good day.

Pagination

Currently the returned number of images is fixed. The following is needed:

  • Pagination is required to the image API. A new endpoint may be introduced and the old one can be kept.
  • Items returned by this API should be sorted from newest to oldest.
  • When a user scrolls all the way down and reaches the page limit, the next page of images should be loaded and displayed in the UI using this new API.

Update readme

I took down the site, need to re-host it somewhere else. Read-me should not include links to the site (currently the image links to it).

The number of grid columns

It would be nice to possibility to change the number of grid columns. Because the screen sizes will vary and the user could just change it how he likes.

CircleCI

Travis is dead, add .circleci directory with correct config.yml file which would run automated tests and nothing else.

For more info see (look into Gradle setup):
https://circleci.com/docs/2.0/language-java

Once PR is made I'll test out the changes and enable CI for this repo.

Hello

Just wanted to say hello

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.