rpnow / rpnow Goto Github PK
View Code? Open in Web Editor NEWThe Do-It-Yourself Roleplay Chat Solution
License: GNU General Public License v3.0
The Do-It-Yourself Roleplay Chat Solution
License: GNU General Public License v3.0
Allow a user to change the name or color of a previously created character. This should affect all messages previously sent with said character.
I think we could be making more effective use of the Angular-Material themes, so that we don't have to flip between md-hue-2 and md-hue-3 whenever switching between light and dark mode.
We look up an RP by its RPCode pretty often, so it will be a good idea to index these. Right now I'm not sure if it is or not.
Especially on mobile, it might be helpful to allow the user to have a larger/smaller font size.
Right now logs are only visible in the output of docker-compose. They should be written to somewhere on the filesystem.
Right now the new site doesn't have any manual for the user that tells them how to format text.
Currently, the server struggles if it receives a very large socket.io message (100MB+). See if Nginx can protect Node from things like that.
Not sure what Nginx is currently doing in terms of caching static assets. Investigate this.
Frontend files should have linting be part of the build process.
Right now the RP description is displayed as a tooltip of the header, as well as in the downloaded document. However, neither of these are immediately obvious. We should put it somewhere else too.
Enforcing a standard on the coding style might be advisable. JS Standard Style is one possible avenue for that.
The old site had a way to read all of the previous RP content online in a paginated format. This new beta site no longer has that functionality; it needs to be added back.
If the "press enter to send" option is enabled, it should probably also imply "press enter to submit changes."
We might be able to reduce Callback Hell inside of the API code by using a module like co*. It's worth a look.
HTTPS is expected on the modern web. This should be added, probably with Let's Encrypt.
The message typing box could be improved significantly. Right now, it seems to span the width of the browser, but the actual area where you can type text is smaller. Also, it's strange to have a long, colorful bar go across the whole page. This needs to be improved at some point.
If you open the character side-drawer on a desktop-sized screen, it'll stick open, even after refreshing the page. That's good.
However, the problem is that it appears before the page finishes loading the RP. This shouldn't happen.
Instead of showing a vast, blank space on a newly-created RP page, we should see a helpful message that lets the user know what to do next.
Consider: something as simple as an arrow pointing to the message box on the bottom of the page, saying "Type your first message here!"
RPNow can't realistically support all browsers; however, we should at least show the user a message instead of a blank page.
If you've scrolled up above the most recently posted messages, but then you make a post, should the UI automatically scroll down to the bottom? I think the answer is probably yes.
The vendor script/style bundles are pretty big; currently, 400kb even after minification and compression. We should make sure that the user sees some kind of "loading" message before these show up.
When the browser loads an RP page, it should automatically scroll to view the last-posted RP messages. However, if an image loads, sometimes the page scrolls back up a bit. This is probably because angular's digest cycle doesn't listen for when an image loads, changing the height of the feed.
Let users add icons for their characters, to give character messages more personality. Probably support multiple icons per character so they can have different expressions, etc.
Right now, RPNow 2 doesn't give a good idea of what the site is for and what it does. Here's some ideas:
On medium-sized screens, the title of the RP is not quite centered.
The sound and titlebar flashing is cool, but most modern browsers support notifications that show up on the desktop computer's UI. Use this functionality.
How does RPNow handle RP's that are extremely long? I know for a fact that there's a 16MB size limit on a MongoDB document. Add testing to see how it's handled.
To incorporate an element of chance into an RP, roll a die! We'll probably want a d20 and a d6, and possibly a coin flip too.
We're using a third-party mongodb driver and it might be better to use the official one. Not sure.
The current one requires some hacks to store arrays; let's see if a more advanced one exists.
Right now RPNow always sends the entire RP to a user when they load the page. This is fine for short to medium-length RP's. But as they get large, there should probably be different behavior.
The rp-view is by far the most complicated monolithic piece of the frontend right now, and could benefit from being split up into different components.
What keybindings would be helpful for the RPNow UI?
One possibility: using TAB to open and close the character side-drawer.
If a user has disabled JavaScript, we should tell them to enable it.
Using $scope in AngularJS seems to be discouraged in some circles. Should I refactor it to use the "controller as" syntax?
What if users could share a read-only link to their RP? That way people could share an RP in all its beautiful formatting detail, without having to let those people post to said RP.
Possibly. But this might have an undesirable effect on mobile. Try it out.
We need to make sure no user can brute-force their way into other people's roleplays by guessing URL's.
If a user loses connection to the server, it should indicate this somewhere on the page.
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.