Code Monkey home page Code Monkey logo

odyssey's People

Contributors

chloetanlimco avatar donutdaniel avatar jzeiders avatar refcell avatar saresend avatar the-real-stiven avatar wilhelmwillie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

saresend jzeiders

odyssey's Issues

[feat][backend] build admin API routes that support filtering application data

We should have an API route that any admin can hit. Something like GET /api/admin/profiles that will support a variety of query params

Ex: GET /api/admin/profiles?status=verified|submitted will return all of the user profiles that are verified and submitted

Specs

  • Write GET /api/admin/profiles which will return a gigantic JSON object of all the profiles
  • Extend this route and allow it to support 1 basic query (for now)
    • ?status=XYZ - filter profiles by status

[feature][large] Affiliate Codes

Let's get the reposting going, want to add affiliate codes so people can help spread the word. Making a full proposal in Quip

[bug] Clicking on logout hangs the application

GET https://odyssey-staging-hacksc.herokuapp.com/_next/static/
JokgKPq1NLFhcXCKtMpzo/pages/auth/logout.js net::ERR_ABORTED 404 (Not Found)

Logging out seems to hang, but does successfully logout. If we hit another request or do anything with the page, it does seem to have successfully logged out tho.

[devops] auto-deploy on merge to develop

Configure Heroku to:

[x] Auto-deploy on merges to main branch (develop)
[-] Auto-run migrations on new deployments
[x] Configure repo to protect develop branch (require approvals before merges)

[feat] add way to let people join/create teams

Add some sort of mechanism in Odyssey that enables users to specify who their teammates are

I'm thinking there could be a "Teams" tab on Odyssey that lets you create a team w/ a unique ID that you share w/ your potential teammates

Ex:

  • go to "Teams" tab, you "create a team", you get the team ID: "H4U8", you send code to your friends
  • your friends add themselves to team "H4U8"

willing to iterate on this, i think this is the best and most formalized way to do teams since just asking for names requires so much work on our part during application review

[ux/ui] improvements to general UX/UI after internal bug bash

  • hover state for "save" and "submit"
  • DONE: "tell us about a project you have finished in the past?" (make into a statement, not a question)
  • DONE: change results text from "HackSC Application Results" to "HackSC Application Complete"
  • DONE: have active tab in a different color
  • view results should be disabled or have a disclaimer that decisions haven't been released yet
  • DONE: update question one in the application to say that a user isn't locked into the vertical they choose

Create CLI for creating someone as an admin

What this is

I'd like a CLI that we can call as follows:

odsc-admin add [email protected]
odsc-admin remove [email protected]
... # Other functionality here

So we can quickly manage reviewers without having to drop into working on the production database directly. Also, hopefully we could integrate all of our scripts into this helper CLI so that we can improve ergonomics of working on this project

[cleanup] clean up code :)

  • A lot of FE code could be broken down into cleaner, more re-usable components...
  • Clean up a lot of our methods, split code into methods that are easier to test

[feat] Email sending to applicants

We need a way to be able to send emails to people, with segmenetation on properties such as schools or status.

There are 2 ways I can see to do this, we can either use the sendgrid api to import the contacts and send from there. Or add a dashboard to send it from an admin page.

@WilhelmWillie @saresend Thoughts?

[feat][enhancement] Add Push Notifications

Push notifications (transactional & marketing) are useful for helping to drive conversions and certain user actions e.g. submit app or send affiliate links.

Thinking about setting up firebase for it

[feat][admin] create admin dashboard for organizers

  • dashboard should be accessible at odyssey.hacksc.com/admin
  • only profiles w/ the role organizer should be able to access
  • need to write additional middleware to check if a user is authenticated AND if they are an organizer
    • odyssey.hacksc.com/api/admin/*should use this middleware

Why?

We need an admin dashboard to do application judging

We'll also likely add more features to this dashboard, those of which are TBD

[backend][investigation] sessions should persist even when the server reboots

Right now, our express server handles sessions in memory. This has been fine for now, but creates issues when the server reboots due to new deploys. New deploys will reboot the server causing current sessions to be lost. This means users will have to constantly log in and out. Because we plan on making frequent updates to Odyssey over the next few weeks, I believe it's high priority for us to fix this and figure out a way to get sessions to persist.

[bug] Google auth provider causes 404 failures

This might be tied with #56, but Google auth provider causes redirection to a 404 Page, rather than the dashboard. The dashboard does however work if you go to it manually.

Repro Instructions:

Go to the sign up page in auth0, and sign up with a google account that does not have a preexisting email associated with a HackSC identity. This should get you to the 404

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.