Skip to content

Releases: acmutd/portal-backend

February 2021 Release

22 Feb 02:10
9d037cf
Compare
Choose a tag to compare

First Release for the ACM Core API 🎉

Release Notes:

  • Centralized backend for all ACM Services
  • Application system [ACM Portal]
  • Event system [ACM Portal]
  • Profile system [ACM Portal]
  • Officer utilities system
  • Hacktoberfest system
  • ACM Development Technical Challenge system
  • Mailing system

User functionality:

  • Able to generate access tokens for Auth0
  • Able to add callback urls for Auth0
  • Able to verify authenticated users from Cloudflare Access
  • Able to verify authenticated users from Auth0
  • Able to setup new profile document upon account creation
  • Able to record event attendance and associate with both profile and event documents
  • Able to save newly created profile as document
  • Able to retrieve full profile
  • Able to retrieve shortened profile for populating typeform fields
  • Able to generate new vanity link
  • Able to update vanity link
  • Able to delete vanity link
  • Able to retrieve list of vanity links
  • Able to parse incoming typeform responses and extract into simplified documents
  • Able to send confirmation emails to receiving a typeform webhook
  • Able to generate custom firebase authentication token based on third party JWT
  • Able to access ACM Development Fall 2020 Technical challenges
  • Able to create new event which supports checkin functionality through typeform web hook submission
  • Able to create new vanity link through typeform web hook submission
  • Able to connect sendgrid and typeform together for customized email actions through typeform web hook submission
  • Able to connect discord information and profile information together
  • Able to add subscriber to mail chimp
  • Able to add subscriber to sendgrid
  • Able to add meta information to sendgrid user [All fields from the profile collection]
  • Able to send dynamic template email via sendgrid
  • Able to trigger a mailing list to send to all subscribers
  • Able to retrieve all contact lists
  • Able to create a new marketing list
  • Able to retrieve data on a single dynamic template
  • Able to manage customizable permission system
  • Able to save resumes in Cloud Storage

Additional Functionality:

  • Able to access 3 separate Express servers to handle authentication from different services
    • Handle requests signed with Cloudflare Access authorization header
    • Handle requests signed with Auth0
    • Handle requests with no authorization (open webhooks)
  • Able to pass all error traces to Sentry
  • Able to pass all log traces to LogDNA
    • Able to connect multiple ingestion id to a centralized logger instance
  • Fully scalable micro service architecture
  • Able to deploy on serverless
  • Able to function based on document triggers
  • Able to validate if parameter types match specified interface
  • Able to check Authorization headers with custom express authTypes
  • Able to manage environment variables through firebase function configuration
  • Able to run serverless functionality & firestore through local emulator

Dependency List:

    "@logdna/logger": "^2.1.3",
    "@mailchimp/mailchimp_marketing": "^3.0.12",
    "@sendgrid/mail": "^7.2.3",
    "@sentry/node": "^5.19.2",
    "@sentry/tracing": "^5.25.0",
    "axios": "^0.21.1",
    "body-parser": "^1.19.0",
    "cors": "^2.8.5",
    "crypto": "^1.0.1",
    "express": "^4.17.1",
    "express-jwt": "6.0.0",
    "firebase-admin": "^8.10.0",
    "firebase-functions": "^3.13.0",
    "helmet": "^3.23.1",
    "jwks-rsa": "^1.12.2",
    "md5": "^2.3.0",
    "morgan": "^1.10.0",
    "request": "^2.88.2"

Publisher Information:

Organization: Association for Computing Machinery
Chapter: University of Texas at Dallas
Director of Development: Harsha Srikara