GithubHelp home page GithubHelp logo

shera's Introduction

Shera

Shera is a tool for managing events without being tied to one social network.

Getting it running

The only annoying thing to set up is database access, there are two options.

Our database is currently hosted in supabase. If you want to connect to the live "prod" db talk to Aslak to get the env file with a connection string.

Alternative two (the prefered alternative) is using a local sqlite instance. In prisma/schema.prisma there are instructions for swapping to the local db.

When db is set up it's just npm run dev

PS: The sqlite db might not be updated at all times, if this is the case run a migration after starting to use it (see below).

Migrations

When making changes to the prisma schema we need to make migrations.

For local db we can just use npx prisma db push

When hitting the live database we use npx prisma migrate dev --name name-of-migration

Neat stuff

npx prisma studio gives you a neat studio to see the data in the db.

shera's People

Contributors

aslakhol avatar osvennevig avatar

Stargazers

Elias Rissanen Uran avatar Christian K. Engelsen avatar Espen Dalløkken avatar  avatar Erlend Sogge Heggen avatar Håkon Holhjem avatar Petter Charles Redfern avatar Jan-Arve Nygård avatar Elvin Baloku avatar Roman avatar Stig Johan Berggren avatar Mathias Fossum avatar Madeleine Lorås avatar Linn Vikre avatar  avatar Petter Holstad avatar Alena Kirdina avatar

Watchers

 avatar

Forkers

osvennevig

shera's Issues

List my events

I've noticed that it becomes hard to keep track of events, because you need to hunt down the link.

Trigger code on user created

I should figure out how to trigger some custom code on user created. Perhaps on every login.

Right now I'm thinking it would nice to connect up any attendants with your email when you create an account.

It would also be greeeeeat if I could pass some argument from before the auth flow, perhaps through query params. The problem this could solve is setting a name that is entered before the sign in process somehow.

[Suggestion] iCal event with URL to avoid signup

From the latest newsletter:

Say I invite you to my birthday party. I send you a handy link that has all the info you need. 2 weeks later you’re getting ready to head to my place, and big shocker to no-one not named Aslak, you’ve forgotten what that damn link was. You might remember Shera, but unless you are lucky with your browser history you won’t find the full link. In the end you still have to scroll back up in the chat to find the get the info you need.

I really liked not having to make an account to attend, but Shera didn’t work if you had to remember some random URL. So, now you have to sign in to attend. It’s a bit sad, but at least it’s quick and easy, and it does allow me to build more useful features in the future.

If the event at the end of the URL has an iCal that can easily be added to your calendar containing the event URL then you won't have to remember anything. Today's default is probably fine for most but a lot of people (especially those of us fleeing Facebook and the like) do have somewhat of an account and signup fatigue that might just raise the barrier of entry enough to skip the service entirely. So a "just get this event in my calendar, I'll be a big boy and check for updates myself" mode would be cool 😄

(this specific mode of operation was suggested by a third party who prefers to remain anonymous)

Posts on event

It should be possible to post a post to an event, as an update or input from someone else.

Event Ids

Doing nano id with 09az with length 8, also want blog style urls

shera.no/events/the-merging-of-the-streams-0j4edbyy

where only the final bit matters.

const { customAlphabet } = require('nanoid');
const alphabet = '0123456789abcdefghijklmnopqrstuvwxyz';
const nanoid = customAlphabet(alphabet, 8);
nanoid() //=> "0j4edbyy"

https://zelark.github.io/nano-id-cc/
https://github.com/ai/nanoid

Link rendering

I want to render links properly in description and in posts. Also long links breaks the ui.

image

Attend event

First version I imagine attending without logging in.

So something like an attend button and then a text field where you put your name.

Unattending will come after.

WYSIWYG editing

Need some neater WYSIWYG stuff on the description.

We don't need advanced stuff, but at least let the event page honor newlines.

Account linking

Right now, if you log in with an email that you have used on a different provider with a new provider you get an email saying that you need to login with the original provider.

Firstly I need to display this error in my custom login screen.

But I can also link accounts by directing the user to the login screen after they are already logged in. If they log in when they are logged in they can link accounts.

This should be tested and verified.

Not possible to scroll/zoom on "going"-page

When clicking the "going" button on an event to see who is invited and who is going, it doesn't seem to be possible to scroll up/down, or to zoom in/out. Assumed to first be a problem when you exceed ~20 people.

The page also doesnt start focused on the top line. This makes it pretty hard to see who is going and who is invited (unless you do "mark all", and copy+paste the text in another editor.

Tried on both iphone, android and chrome on pc.

Hide emails from attendees?

Currently, all users will get all emails. I assume the main function of the "going" pane is that people want to know who else is invited and going. Many times, emails aren't specific enough for people to read the full name. Also, not everybody might appreciate that their email is visible to all other people invited to an event they are going to.

Maybe there could be an option when adding people by email to add their name/alias, and to show this instead to any attendees?

Yet another auth revamp

I'm in the middle of a new auth revamp. Making this issue to remember what I've got to do before it's ready.

  • OTP codes rather than magic links
  • Make sure google works
  • Error on account not linked
  • Read over the other error messages and consider what to do
  • Redirect urls
  • The auth button links to the api route, it probably doesn't need to do that anymore?
  • Double check the link out of embedded things when I don't link to api
  • If that doesn't work, hide google auth on embedded browsers
  • clean everything up and make it look nice
  • better looking email
  • custom logout page so it looks the same. Actually I probably don't need a page. If I can just go straight to logout

Redirect on signup

Seems the redirect doesn't work automatically like I hoped.

I need redirect url for when I signup on an event page, so that you end up on that event page again as well.

If I could forward query params that would also be great. I could send a query param with your email in the invite email, and use that to show you've been invited in the button.

Logo / Favicon

Gotta have something better than the lama. I just threw it in there because I needed something other than the default.

Invite to events

Event systems that are based on a social network has a huge advantage in making it very easy to invite attendees to the event, as long as they are on the given platform.

We need to find ways of emulating the same ease of invitation.

Auth and author

Ability to create accounts and log in, and record host for each event.

Update emails

I need to make some more emails, and make the existing ones look nicer. The ones below need specific love:

  • Confirmation email
  • Reminder emails
  • Signin code
  • Invite email
  • When new posts
  • Perhaps when edits happen to an event

All invited people can invite others

From what I could see when testing, any invited person could invite others. It would be great to have this default off, with an option to enable.

Track page hits

I want to know how many people visit the page and each route. I think maybe vercel gives me some stuff out of the box, but I'm going to look into it.

Email list

It would be nice to have an email list that I could use to update my users when there is new functionality.

Host can edit event

If logged in the host should be able to update all the information for the event.

Email

Set up email on the shera domain.

Subscribe to updates

If a user choses to attend an event they should be presented with the choice to subscribe for updates.

I'm thinking email and sms for now, and I'm planning on using Twilio.

The attendee would write in their own information to prevent spam.

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.