Giter Site home page Giter Site logo

a3s's People

Contributors

junlarsen avatar magnusrodseth avatar njaalsoerland avatar

Watchers

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

a3s's Issues

Create RuleBundle Ent entity

Is your feature request related to a problem? Please describe.
This entity is missing from the Ent schema

Describe the solution you'd like
Create the RuleBundle entity, and map its edges according to the diagram in #22

Map GraphQL ID to Golang Int

Is your feature request related to a problem? Please describe.
Make it easier to differentiate between ID and regular Int

Describe the solution you'd like
Replace all instances of Int for entity IDs in the GraphQL Schema with the scalar ID type. Needs to map ID to Int in gqlgen.yml

Describe alternatives you've considered
N/A

Additional context
N/A

Ability to require a form filled in from participants before event start

In the same way an event can have a feedback-form where users must describe what they thought of the event, we should have the ability to require a form to be filled out by the participants before an event, as some events require additional information from the participants. Getting this information as it is now is very convoluted as it requires mailing all the participants to request this, and a lot of people have linked their online account to their student mail, which they never check.

As mentioned, a good solution for this would be to just reuse the functionality for feedback-forms, but have a deadline 24h or so before event start, rather than after the event.

Implement Relay pagination in GraphQL

Is your feature request related to a problem? Please describe.
We need to implement pagination for lists of entities.

Describe the solution you'd like
Implement Relay pagination (nodes + edges + cursor)

Connect database relations

Is your feature request related to a problem? Please describe.
We need to map out the relations between the different entities in the database.

Describe the solution you'd like
Ent edges between the relevant entities

Additional context
Entity relation diagram for the tables looks like this:
image

Users can add themselve to an attendance list

What 🚧

When I want to attend an event that interests me, I want to be able to add myself to an attendance list on the specified events, so that I'm eligible to attend the event.

Definition of done🔨

  • Add an attend mutation that adds a user to an attendance list
  • The user should not be able to be added if the event is full unless the event has enabled waitlist

Migrate from TypeScript to Golang

Umbrella issue:

Preferably use

  • SQLBoiler, as a SQL client, to communicate with the existing database. Generates typesafe queries based on the current schema. Do this with the database repository pattern so that we can easily switch ORM to one which I include migrations later, such as Ent.go
  • GQLgen for defining graphql schema and generating code that needs to be filled out. Currently the best GraphQL library of the one's I've tried
  • Chi as the Router. Works great with std library. Also includes CORS and stuff
  • Deploy with serverless-stack.com to AWS lambda. Also use this for lambda mocking and local development. Or use serverless framework 🤷
  • Testify and stuff?

Would also be cool:

  • Realtime for displaying attendance registering with websockets. Completely separated from this service tho

Resources:

Learning Go: https://quii.gitbook.io/learn-go-with-tests
Repository pattern: https://threedots.tech/post/repository-pattern-in-go/
serverless golang: https://serverless-stack.com/examples/how-to-create-a-rest-api-in-golang-with-serverless.html

Write documentation

Is your feature request related to a problem? Please describe.
It is currently very difficult to contribute to the docs without communicating orally with an existing contributor.

Describe the solution you'd like

  • CONTRIBUTING.md docs
  • A proper README.md
  • Other docs the current contributors (@NjaalSoerland, @matsjla) think are appropriate

Implement EventOrganizer Entity

Is your feature request related to a problem? Please describe.
The EventOrganizer entity is the table of organizers or groups that an event is arranged by. In OW4, the organizer is this part of the event information:

image

Additional context
There should be GraphQL queries and mutations for creating, reading, updating and deleting EventOrganizer groups in addition to an Ent schema.

Exact fields are to be decided, but we know for sure that "name" and "email" are going to be needed.

Create Extra Ent entity

Is your feature request related to a problem? Please describe.
This entity is missing from the Ent schema

Describe the solution you'd like
Create the Extra entity, and map its edges according to the diagram in #22

Setup Makefile

Is your feature request related to a problem? Please describe.

We should set up a Makefile in order to improve QOL for developers.

Describe the solution you'd like

Something like make db, make, make gen, etc... This can be refactored later as we see fit.

Document GraphQL Schema

Is your feature request related to a problem? Please describe.
It should be possible to add additional documentation to the GraphQL query arguments.

Describe the solution you'd like
A nice solution that allows us to view said documentation in GraphiQL

Restrict users with rules for events

What 🚧

When an attendance event is restricted to a specific group like a year of study, I want only users that satisfy the set rules to attend the event so that the organizers know that only these groups are attending.

Definition of done🔨

  • If an event has a ruleset, only users that satisfies the ruleset can attend the event
  • The organizers can add restrictions to the event

Create automatic CI on push/pull request

Is your feature request related to a problem? Please describe.
The tests have to be ran locally right now

Describe the solution you'd like
Automatic trigger on GitHub actions

Implement EventType Entity

Is your feature request related to a problem? Please describe.
The EventEntity entity is the type of event. OW4 event types include Company Presentation, Social and Realfagskjelleren. While these are static on OW today, I think there is value to making them dynamic so that we can change them in the future without having to rewrite parts of the service.

Additional context
There should be GraphQL queries and mutations for creating, reading, updating and deleting EventTypes in addition to an Ent schema.

Exact fields are to be decided, but we know for sure that "name" is going to be needed.

Fix Go module issues

Is your feature request related to a problem? Please describe.
There are currently two Go module related issues:

  1. Something is blowing up when running go build: https://github.com/dotkom/a3s/runs/5351123315?check_suite_focus=true
  2. Ent complains about a tablewriter dependency when generating Ent entitites

Describe the solution you'd like
I would guess there are either imports issues or go module sum issues that need to be fixed here

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.