ahlinist / tempvs Goto Github PK
View Code? Open in Web Editor NEWA historical reenactment social network.
License: MIT License
A historical reenactment social network.
License: MIT License
"Remember me" checkbox should be added to the login form.
Use @BindUsing to map Images for profiles, items and sources instead of using redundant command objects.
Create LibraryController and move there the library-related logic from SourceController
Each clubProfile should be able to be linked ti a passport that will represent the belongings related to the chosen period.
com.tempvs.item.Item should be possible to be commented.
Add Boolean active
field to Profile class. Profile should be possible to activate back if needed.
UserProfiles may be followed only by other UserProfiles
ClubProfiles as well only with ClubProfiles but also should be from the same period.
Connection parameters should be retrieved from env variables:
User profile search should skip own.
Club profile search should skip profiles that belong to own user or different periods.
Add an ability to add comments to sources.
Add "increment" and "decrement" buttons.
When passport is deleted - clubProfile still holds reference to a null object
Create a Comment
entity and make possible it to be assigned to Passport
.
Profile search should be updated with 'load more' button. Offset should be incremented by 10.
Password should have security level validations (e.x. - user is required to use numbers and letters in newly created password).
Create and add to bootstrap (demo data set) 3 hierarchical roles:
Limit functionality access by role:
Passport should have an image (like avatar).
BasePersistent should be converted to a trait instead of abstract class.
Log in / Register button should be extremely obvious and well-marked.
ItemImage and SourceImage should be created. They must implement a BasePersistent trait (see #4 ) and inherit at Image class. Image class should be moved to src/main/groovy but remain non-abstract to be included into Profile class as avatar.
When avatar is uploaded only the image section needs to be re-rendered. Not the entire page.
When mandatory smart form is being submitted the request to backend is not sent
Minimum width for image modal window should be 300 px.
A source dropdown on item page should not contain the ones that have already been linked with the item
Current user password retrieving works incorrect
ImageInfo length: 255
Comment text length: 2000
Item/ItemGroup/Source/Passport names: 35
Item/ItemGroup/Source/Passport descriptions: 2000
User email/password: 35
Profile firstName, lastName, nickName, clubName, location, profileEmail, profileId: 35
Use .load() instead of .get() if necessary.
The "stash" button needs to be moved from the top horizontal nav bar to user/club profile pages.
An interceptor should retrieve currentUser, currentProfile and newFollowers from the DB before requests and put them into the HttpServletRequest object as attributes.
Sources should be classified also by types as:
Item Type enums should be renamed to ItemType.
Sources should be grouped by source types on UI.
When user's email is verified they should be given primary instructions re basic user flow including user and club profile specifics.
Update main layout with sticky footer
Image upload interface should accept following file types:
When verifying profile email one is redirected to /profile/userProfile/ instead of /profile/user/
Consider front-end validation.
When deleting Item or Source - the corresponding relation between them should be deleted automatically.
Make more user-friendly content of the following email messages:
When logged in and navigating to /auth
ERROR StackTrace - Full Stack Trace:
2018-03-09T00:00:26.152329+00:00 app[web.1]: org.grails.taglib.GrailsTagException: [views/layouts/main.gsp:103] Error executing tag sec:ifLoggedIn: [views/layouts/main.gsp:40] Error executing tag <g:link>: Cannot get property 'userProfile' on null object
2018-03-09T00:00:26.152357+00:00 app[web.1]: at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
2018-03-09T00:00:26.152395+00:00 app[web.1]: at org.grails.gsp.GroovyPageWritable.writeTo(GroovyPageWritable.java:82)
2018-03-09T00:00:26.152454+00:00 app[web.1]: at grails.plugin.springsecurity.web.UpdateRequestContextHolderExceptionTranslationFilter.doFilter(UpdateRequestContextHolderExceptionTranslationFilter.groovy:64)
2018-03-09T00:00:26.152491+00:00 app[web.1]: at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
2018-03-09T00:00:26.152514+00:00 app[web.1]: at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
2018-03-09T00:00:26.152533+00:00 app[web.1]: at org.grails.gsp.GroovyPage.invokeTag(GroovyPage.java:415)
2018-03-09T00:00:26.152555+00:00 app[web.1]: at groovy.lang.Closure.call(Closure.java:408)
2018-03-09T00:00:26.152564+00:00 app[web.1]: at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
2018-03-09T00:00:26.152584+00:00 app[web.1]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2018-03-09T00:00:26.152618+00:00 app[web.1]: at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
2018-03-09T00:00:26.152656+00:00 app[web.1]: at org.grails.taglib.TagBodyClosure.captureClosureOutput(TagBodyClosure.java:102)
2018-03-09T00:00:26.152685+00:00 app[web.1]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2018-03-09T00:00:26.152723+00:00 app[web.1]: at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
2018-03-09T00:00:26.152764+00:00 app[web.1]: at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.groovy:64)
2018-03-09T00:00:26.152795+00:00 app[web.1]: at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
2018-03-09T00:00:26.152837+00:00 app[web.1]: at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
2018-03-09T00:00:26.152892+00:00 app[web.1]: at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
2018-03-09T00:00:26.152921+00:00 app[web.1]: at org.grails.taglib.TagBodyClosure.executeClosure(TagBodyClosure.java:200)
2018-03-09T00:00:26.152948+00:00 app[web.1]: at java.lang.reflect.Method.invoke(Method.java:498)
2018-03-09T00:00:26.152970+00:00 app[web.1]: at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
2018-03-09T00:00:26.152986+00:00 app[web.1]: at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
2018-03-09T00:00:26.153009+00:00 app[web.1]: at java.lang.reflect.Method.invoke(Method.java:498)
2018-03-09T00:00:26.292950+00:00 heroku[router]: at=info method=GET path="/assets/application-6b742c0c767ed6b5c6a8e2923da9c949.js" host=dev.tempvs.club request_id=86836f41-ba15-49d2-9720-7c845e592a79 fwd="46.216.21.94" dyno=web.1 connect=0ms service=10ms status=304 bytes=119 protocol=http
2018-03-09T00:00:26.153083+00:00 app[web.1]: at groovy.lang.Closure.call(Closure.java:414)
When attempting to navigate to comment's author profile page - it appears that the link is wrong
Add counter to the 'following' glyphicon and highlight the new notifications.
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.