Giter Club home page Giter Club logo

uboard's Introduction

UBoard

The official University of Toronto bulletin board.

UBoard is a platform where students can keep up to date with their community. Students can post about, and search for, community related events, academics, club announcements, and more.

Development

The project uses yarn. Install node (npm) and do npm install --global yarn.

The frontend of our project is in the client/ folder, and the backend is in server/.

Type Definitions for Client

Additional setup needs to be done in order to use the type definitions from the server in our client files.

Before continuing, make sure you git pull and then run yarn build in server directory.

Then in the root directory of the project run this:

Windows:

mklink /D "%cd%/client/node_modules/models" "%cd%/server/build/models"

mklink /D "%cd%/client/node_modules/@types/models" "%cd%/server/build/types/models"

Linux/Mac:

ln -s "$PWD/server/build/models" "$PWD/client/node_modules/models"

ln -s "$PWD/server/build/types/models" "$PWD/client/node_modules/@types/models"

Then, types should be picked up from the import path models/..., which allows us to import like so:

import { UserAttributes } from "models/user"

Building and Running with Docker

The site can be run inside of a docker container.

docker build -t uoftboard .
docker run -p 80:80 -e PORT=80 -e JWT_SECRET=secret -e PAGE_URL=localhost uoftboard

Note that additional environment variables are needed for additional features to function. These can be added with the -e flag.

Google Cloud API key with Maps, Pages, and Geolocation enabled. REACT_APP_MAPS_API

Backblaze used for blob storage for thumbnails. BACKBLAZE_APP_KEY BACKBLAZE_APP_KEY_ID BACKBLAZE_BUCKET_ID BACKBLAZE_BUCKET_NAME

PostgreSQL database URL DATABASE_URL

SendGrid API keys for email functionality FROM_EMAIL SENDGRID_API

uboard's People

Contributors

daniduong avatar plausibly avatar gurvirsasan avatar andy9775 avatar

Stargazers

 avatar

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.