Code Monkey home page Code Monkey logo

main's Introduction

pronouny

Build Status

Pronouny is an open source app for sharing identity information (name, pronouns, gendered nouns) with your friends (and maybe web services too). Think Gravatar, but for information which helps you talk about a person.

Login page

Landing page

pronoun page

Why?

The application was created to serve two main use cases. First, when meeting people for the first time online, it would be helpful to be able to look them up by email and figure out how you should refer to them in future correspondance. This extends to web services that want to personalize user experience. The second purpose is to allow people who change there pronouns or other information frequently, to ensure that their friends are up to date.

Prerequisites

$ npm install -g bower
$ gem install sass

Installation

$ git clone https://github.com/pronouns/main pronouns
$ cd pronouns
$ npm install

Running pronouny

After the install process is over, you'll be able to run pronouny:

$ npm start

pronouny should be running on port 3000 with the development environment configuration, so in your browser just go to http://localhost:3000

Tests

$ npm test

This will run both the server-side tests and the client-side tests.

License

(The MIT License)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

main's People

Contributors

falkirks avatar pfgithub avatar rexogamer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

main's Issues

username/password reset

i cant remember my password but i also can't remember my username. i would like to reset it, but, well, you need your username to reset your password and i don't remember my password. might i suggest changing it to putting it as an email instead of username in case this ever happens again?

Password reset email issue / Login problems

Hiya,

I made a pronouny recently but have had trouble signing in with my password on my phone; The site forced me to log out yesterday evening, and when I try to log back in I get the “invalid username or password” error.

I clicked the Forgot Password button (and did the same on my phone), but I haven’t received an e-mail with further instruction for either of those requests.

The email used was [email protected], and my username on pronouny is “ddigi”.

Any help with this would be very appreciated :)

Thanks,

Digi

login issue for deactivated twitter accounts

i made a pronouny account using a twitter account, but i deactivated it some time later so i no longer have the twitter account i linked my pronouny to. i did link a facebook account to it, but since there's currently a bug with facebook, i can't log in that way either. how can i sign into my account?

dark mode

hey! the current theme is obviously quite bright, so a dark mode would be very appreciated. obviously dark modes are a lot of work and you're already making a high-contrast one so no rush! thanks for the cool site :)

Still cannot add new names

Disregard if you're already working on this issue, but I want to be sure you know about this. It seems to be a universal issue that we can't add names as of at least October 1st, as stated in another thread. Is this something you are aware of? Thanks!

a way to manually order names?

it'd be very nice to be able to order added names like you can with pronouns! it's a little bit of a hassle to have to readd all of them just to order them correctly. i don't know how to code so take this with a grain of salt, thank you for keeping this alive!

twitter api being paid on february 9th

the twitter api is going to be accessible by paying for it (either a blue subscription or a $100 per month subscription) and you cannot access it for free, this may effect the log in to twitter functionality

i can't sign in to pronouny

i think i created an account before but i didn't write down the password, so i go to the 'forgot password' but i have to use my username to reset my password, which i also don't know. i can't create a new acc. either and i used my only personal email to create the first pronouny acc.

UI changes

  • move main page to "Relations" and get rid of existing relations page
  • new main page is "Pronouns"
  • remove tabs and Relations from profiles

Optimizing for faster load times

Optimizing for faster load times

Here are some issues I noticed with load times on your site:

  • sortable.js is not minified.

    • actually, it loads both sortable.min.js and sortable.js. Not sure why.
  • owasp-password-strength-test.js is not minified.

    • also, not sure why it loads this when you're not on the change password/create account page. Should probably restrict it to that.
  • moment.js is not minified

  • When on the root page, it seems to load every. single. pronoun... This takes around 400ms and should probably be avoided. I'm assuming this is for the feature to load 3 random example pronouns for new users, but you should probably:

    1. make it so it queries an api to get 3 random pronouns rather than loading them all
    2. doesn't load the random pronouns if you're logged in. That's just a waste of bandwidth.
    3. It also seems that if you leave the page and return to it (eg. click on one of the pronouns, then use the back button. The page has not reloaded.) Is there maybe a way to cache it across page movements, so you can avoid that? (Idk if that's possible with js)
    4. Also, if you're not already doing this, then you should cache the pronouns list, as it seems to take around 400ms so idk if you're caching it.
      (Looking at the code, it seems like you're caching them, but I don't believe you're cacheing the raw string data. If there's a way to do that (again, idk js), then perhaps you might be able to speed it up. I believe you should just be able to do something like let cachedString = JSON.stringify(obj), and then you can send it with res.send(cachedString). I believe this should be faster, and won't introduce any weird bugs.)
  • loooooool what's pink.jpg??? It seems to load a 1MB image every single time it loads the main page, which can take around 300ms-400ms to load. (with my internet speeds. Which are pretty good, though not the best. But still, gives you an idea of how it's a tad too big.)

    Edit: okay I figured out that it's on the home page for non logged in users. But there are a few very obvious optimizations you can (and should) make:

    1. It shouldn't be 5184x3456 pixels in size. Nobody has a monitor that large, and it's blurred so you wouldn't even notice it if it wasn't high enough resolution for your monitor (like if you were on a massive 4k tv.... for some reason...)
    2. It should really be an svg with colour gradients. I'd be willing to make an svg that looks similar enough to that image, but that utilizes colour gradients instead of actual pixels. This would be much more efficient and would be able to scale to any resolution you wanted.
    3. It shouldn't even be loaded for users who are logged in, since it's not shown to them at all. No need to load it if you aren't seeing it. (Either that or make it so it shows it to users who are logged in.)
    • The same thing also applies to a few of the other images you have on the site, like facebook.png, twitter.png, etc. They're very simple images that could probably be optimized into an svg. But, they're much smaller than pink.jpg, so they don't hurt the load times as much. (There's also favicon.ico, but I'm assuming that needs to be a .ico because browsers, and it doesn't take up that much space at only 64x64. Though, it doesn't seem to have any compression at 6.0kb.
  • Other than that, the next slowest things are all the js scripts the browser needs to download, and the main html file itself, which seems to take around 200ms of waiting and 100ms of download. (You don't happen to be dynamically generating custom html content per user by any chance, do you? Because if so, that should reaaally be avoided...) But I'm assuming there aren't many optimizations that can be done there, as you probably need most, if not all, of those js scripts for fancy js stuff.

    (Okay actually, I just checked and it seems all the pages take like 300ms-500ms to load... And looking at the source, you don't seem to be doing any dynamic bullshitery, though I could be wrong, so the long wait time might just be because nodejs is slow, and bad, and sucks, and nobody should ever use it lol. It might be worthwhile to eventually switch to java with sprint boot, but I'm not going to, in all seriousness, suggest that you completely throw out all the code and rewrite it from scratch for some slight performance boosts. Realistically, nobody's gonna do that, but you might want to switch one day. idk.)

Also, I just want to let you know that none of this stuff is "you must do it or else your app will die", these are just some perf optimizations that I thought of which shouldn't be too hard to implement. I just like applications with minimal amounts of bloat, and thought I'd point these out.

PUT requests require no authorization

It's possible to use PUT requests to edit the information and pronouns of anybody on the site, because an Authorization header is not required for requests.

Suggestion: implement tokens and require them for requests that edit data on the server.

Unable to delete pronouns

hi! I've encountered a problem within the pronouns section. I can't delete my public pronouns anymore. I can still sort them though and delete everything else (names, nouns). I've already tried logging out and back in and restarted/refreshed the site but it's still not working. Did anyone else have this issue before and/or is there a way to fix it? Thanks

Wrong Twitter

I linked the wrong Twitter to my Pronouny and can't change it. I would really appreciate being able to change it to the intended Twitter but I have no idea how.

API Leaking user emails

Hello, I tried reaching out via email (Sent to [email protected]) so I wouldn't need to make a public issue, but I never got a reply to my email. Could you please check your email so I won't need to disclose the details on here? Rather not since its regarding peoples personal information. Thanks 👍

Sign-Up Using Twitter Broken

Hiya :)

It looks like the Twitter OAuth registration on the pronouny.xyz site is broken :(

(Using Chrome 71 Beta Channel, on Windows 10. I am using uBlock Origin as well, but that says it's not blocking anything, so that shouldn't be affecting things.)

I was able to register using the standard email/username/password form, though, so sign-up isn't entirely broken :)

When I clicked the Twitter button on the Sign-Up page, my browser made a request to /api/auth/twitter?redirect_to=%2F, which responded with a 302 redirect to /server-error. That /server-error page just says Oops! Something went wrong... and I can't find any real error details anywhere on that page, in its HTML, or its HTTP headers, so hopefully you have some error logging somewhere? 😸

If it helps, I subsequently registered as aziraphale (😻 Terry Pratchett), and my IPv4 address looks like 90.x.x.76.

Sadly, I really don't have the time to look into this in any more detail (such as setting up the site on one of my own servers and checking for error messages), but hopefully it'll be easy enough for you to debug and fix - and hopefully it's not a result of Twitter deciding to hobble their OAuth API just like they did to their Streaming API the other month! >.<

Thanks!

Pronoun alert "status"

Allow users to see how many people have viewed an alert and which of their followers have seen it. This would probably just include a ?token= with the links sent out in alerts which would be feed back in to the database. Ideally this would be implemented as a separate module that tracks alerts, but could be integrated into the user module.

can’t log in

i just signed up for pronouny today using twitter, but it won’t let me log in. it says i’m already logged in, but won’t allow me to do anything
A5A7C103-9BE9-4102-BC7A-B4A50ABB449A

(twitter oauth) Way too many permissions

This application will be able to:

* See Tweets from your timeline (including protected Tweets) as well as your Lists and collections.
* See your Twitter profile information and account settings.
* See accounts you follow, mute, and block.
* Follow and unfollow accounts for you.
* Update your profile and account settings.
* Post and delete Tweets for you, and engage with Tweets posted by others (Like, un-Like, or reply to a Tweet, Retweet, etc.) for you.
* Create, manage, and delete Lists and collections for you.
* Mute, block, and report accounts for you.

I'm not familiar with twitter's api but this seems a bit... much... for something that basically just grabs your name and profile picture and is otherwise separate from Twitter

[Feature Request] PronounDB integration/public facing api for querying pronouns based on social media handles/ids

There's another project, pronoundb, which allows you to query an API to return someone's pronouns using a social media handle/id that they have authorized.
So if I were to sign up to pronoundb with my discord which had the theoretical id of 123456, then I'd be able to send a request to https://pronoundb.org/api/v1/lookup?platform=discord&id=123456 and it would return a json object specifying my pronouns.

Right now, we currently have 2 different services that basically accomplish the same task. (Of allowing people to share their pronouns)
So, I'm opening this issue because I think it'd be worthwhile to merge the functionality of the two services.
You could make the service entirely opt-in for the user, so nobody would be at risk of accidentally exposing themselves.

And if you don't feel like making all the required features for supporting a bunch of different site integrations, then you could just make a public-facing API that allows people to query the pronouns of an arbitrary pronouny user, which could then be integrated into pronoundb, thereby separating the two services but allowing them to interact with each other.

TL;DR cool people know how to write cool code, and I think they should integrate their code so it can work together and make cooler code.

Also, I'm @'ing @cyyynthia because she's the owner of the pronoundb repo and I'm too lazy to make two issues for this lol

Can't sign in or reset password

I made an account, but I forgot both my user name and password, so I'm unable to reset it. It would be great if you could reset it using your email instead.

Grammar in README.md is incorrect

"The second purpose is to allow people who change there pronouns" should be "The second purpose is to allow people who change their pronouns"

Log in with email

I think it would hugely benifit with being able to log in with your email rather than your username, because not too long ago I change my username and now that I went to log in I have completely forgotten what it is, so if you could help me restore my account and add this feature, that would be lovely!

Update dependencies

Project is falling apart on node 8 and really needs its dependencies updated.

Twitter account creation broken

What error do you get? Are you signing up, adding it to an account, or just signing in?

It works on my end for signing in and adding to accounts.

Imgur

^ it says:

Email already exists

but can't recover based on username or the email address associated with my twitter account (I had just assumed it was the same error, but in hindsight might not be the same one from issue #18 - sorry about that)


edited to add:

The error: 'Email already exists' is for both 'sign in' as well as 'sign up' using twitter, and ["pronouny - A cool app for updating your pronouns"] is authorized / connected app on my twitter account.

Originally posted by @kuzetsa in #18 (comment)

A gender / orientations feature would be cool

a lot of folks hoard genders as well as pronouns and it takes a lot of effort to maintain a list of them. i have no coding experience but i and probably a lot of others would be very willing to help compile lists of terms, definitions, and flags if you do decide to do this. thanks!

An API would be nice

A public-facing anonymous API would be useful for certain integrations with the service. Later down the road, this site could act as an OAuth provider so that people can display their always up to date pronouns on their profile. Great software :)

twitter login not working

i kept trying to sign into my account via twitter but the only response was “oops! something went wrong.” i tried on a different device but i still got the same response. is there anyway to fix this issue?

[feature request] add pronoun "groups"

hi, i apologize in advance because i'm not sure of the best way to open a feature request like this on others' repositories

the feature i'm requesting is a grouping option for pronouns. essentially, this just creates custom headings on the pronouns page and allows you to add pronouns beneath them

ideas:

  • groups should have names at the least. descriptions are optional, but would be very much appreciated
  • group creation could be handled similarly to creating branches here on the github site. you'd get a dropdown selection of existing groups, with the option to type in a new name or select an "add new" option which would open a new panel on the page
  • after creating a group, you'd then be able to specify that as the group you're adding pronouns to, and the "currently added pronouns" list would reflect the current group
  • by default, an "unsorted" category would exist, which could be customized with a specific name[/description]
  • if all groups are deleted, or no groups exist, pronouns go back to a default unsorted category. unless this group is given a name, or unless another group is created, it doesn't appear on the pronouns page

use cases:

  • plural folks who want to display different pronouns per headmate (hi, that's us ;b)
  • others who want to specify pronouns to be used with friends vs pronouns to be used with the general public
  • people who hoard pronouns and want to organize them based on type (eg: emojiself, nounself, aesthetic-based, etc)
  • people who want to specify what pronouns to use when in certain gender, kintype, etc shifts (eg: a genderfluid person who uses xe/xem when feeling closer to one gender, but gor/gors for another)

i'm willing to help make this happen, but we don't know much about angular so we'd have to learn, and we have a lot of other projects we're working on. i wanted to make this feature request ahead of time in case it takes a while for us to be able to work on it proper

if any part of this is confusing i'll be happy to clarify, and i might come back to edit this with pseudocode when it's not 6:30am here pff

- ⧁¹

sign in with email / recover username

i currently have no way to recover my account. i didn't use twitter or facebook and i don't remember my username, so i have no way of resetting my username/password. usually there is an option to sign in with email instead, but there doesn't seem to be one here.

Automatically Redirect to HTTPS

While it's lovely to see that the pronouny.xyz site supports TLS/HTTPS (I'm so glad that Cloudflare and Let's Encrypt have made that easy and free now!), unfortunately there appears to be no redirection to HTTPS if you visit the HTTP version, so I actually came here initially to request that you add TLS support, as it looked like you were expecting me to submit passwords (and personal details) over unencrypted channels! 😸

Of course, you also have HTST enabled on the site, so I suspect you may just not have noticed/considered this issue, as you'll now just be getting forced onto HTTPS regardless of what you type into your address bar :)

So would it be possible to enable automatic redirects to HTTPS for the site, please? 😺

Cloudflare provides an "Always Use HTTPS" option under "Crypto" these days, which I imagine will do the job. (For some reason, at work we have a custom Page Rule to achieve pretty much the exact same thing, courtesy of my predecessor, rather than using that option, so I can't totally promise that that'll work!)

Thanks - and thanks for creating this site, too! :)

can no longer log in to my account

I linked my pronouny to my Facebook account when I made it a few months ago. tried to sign in today and I received this message when I clicked the Facebook button. help? D:
Screenshot_20200814-085751_Chrome

other languages?

hey this is a lot to ask and it's okay if this isn't accepted ! but i'm wondering if we could include other languages and their pronouns on the site ? this would of course mean having examples that weren't in english ; assuming all examples on the site so far and in the future are automated , this would mean making new examples for different languages . (that i am happy to help with !)

Can't create a account

It simply keeps telling me something went wrong when I try to make a account via email.

unable to log in or recover password

i know my username, but for some reason my password isn't working and i can't reset it because i created my account with my twitter. i've changed my twitter handle since i created the account, so that could possibly be it? either way, i can't get in. i think it would be very helpful if password resets/account recovery was done through email, rather than username.

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.