edvinas01 / meme-grid Goto Github PK
View Code? Open in Web Editor NEWA grid for memes
License: MIT License
A grid for memes
License: MIT License
Add basic metadata ogp tags / attributes (or others as well if it looks nice) so that meme-grid looks nice when posted on social crap pages.
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
Add static code analysis. It should be run after tests - that is after running the check
task, tests and then static code analysis should run in order.
Detekt seems like a good choice:
https://github.com/arturbosch/detekt
The wrapper
task needs to be modified (change the version). The version string can be taken from here: https://gradle.org/releases (grab the latest release, e.g. 5.6.2
).
Add Heroku config. Want to re-host this there 4 free instead of self hosting.
Add JWT authentication for POST
requests (https://github.com/jwtk/jjwt can be used). This will require the following:
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}
.401
should be returned with some message.In my opinion, it would be nice to memes sorting feature. That also would decrease chance to see same meme many times.
Cheers!
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.
build.gradle
should be converted to Kotlin and renamed to build.gradle.kts
.
For more info see:
https://docs.gradle.org/current/userguide/kotlin_dsl.html
It would be nice that people could pin they loved memes in the grid. For example, It could be cookies based.
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 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.
Greetings, Developer,
It would be greatly appreciated if your software product could serve them memes in a list fashion.
An exemplification:
Good day.
Currently the returned number of images is fixed. The following is needed:
Setup code coverage reports (unit test coverage). Blocked by: #23
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).
Images can stack-up and break the grid if they load too slowly. See desandro/masonry#500. Can be fixed with: desandro/masonry#501 (comment).
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.
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.
Just wanted to say hello
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.