Giter Site home page Giter Site logo

sdhacks / sdhacks2017 Goto Github PK

View Code? Open in Web Editor NEW
5.0 6.0 0.0 15.82 MB

The official website for UC San Diego's annual hackathon - 2017 edition

Home Page: https://2017.sdhacks.io

JavaScript 74.93% CSS 13.26% HTML 11.81%
sdhacks ucsd san diego hackathon heroku mern-stack react redux

sdhacks2017's Introduction

CircleCI Heroku

The website behind the third annual SD Hacks

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

MongoDB

Download from https://www.mongodb.com/
Install locally
Note username and password at installation

NodeJS

Download v6.11.1 LTS from https://nodejs.org/
Install locally

Git

Download from https://git-scm.com/
Install locally

Installing

Clone the latest version of the master branch to the current directory

git clone https://github.com/SDHacks/SDHacks2017.git

Navigate into the new directory

cd SDHacks2017

Copy over the default environment variables file, and modify the contents

cp .env.example .env
vim .env

Install the npm dependencies for the project

npm install

To test the installation, run up the server

gulp

Running the tests

Our testing system is still under development, and has not been standardised yet.

And coding style tests

The .eslintrc file is included in the root of the project, and is followed strictly by all contributors.

Deployment

This project was built to be tested with CircleCI, and to be hosted by Heroku. Included are circle.yml and Procfile files for their configuration.

Built With

  • React - The front-end JS web framework
  • Bootstrap 4 - CSS framework for front-end design
  • Express - Back-end server framework for Node.js
  • Mongoose - Back-end database framework for MongoDB

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Nicholas Thomson - Back-end Development and System Architecture - RedbackThomson
  • Vincent Liaw - Front-end Design and Development - liawesomesaucer

See also the list of contributors who participated in this project.

sdhacks2017's People

Contributors

liawesomesaucer avatar redbackthomson avatar tt-auto avatar yacoubod avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

sdhacks2017's Issues

Revise /user/:id/edit back-end

The current code for this endpoint is incredibly messy, and is patched together to work with the old in-place editing system. Since we're now building on React, we can customise it to work more efficiently and cleanly.

Create Front-End Registration Form

Last year we employed a multiple step application form, that used Slick. This worked fairly well, as it allowed us to break up what was otherwise a very long process, into smaller steps. While we did have some UI issues, I think this is still the best way to go ahead with it.
We believe that having this on a new page is the cleanest method, as it seems to be the standard for hackathons, now.

Create User Subdomain to Serve React Package

Currently the admin panel is being served through the /admin subfolder. Ideally we would like /user/:userId to serve each of the user profiles, through the same react package as for /admin. So this would require setting up express routing and react routing to handle it appropriately. We can probably re-use the same /admin express views, which serve simplified CSS and JS.

Add Resume Browser

Resumes should be browsed much like users, allowing administrators and sponsors to choose any of the columns to filter by, and to download the table as a CSV file.

Design Admin Panel

The Administrator panel is currently boring bootstrap. It works, but it's ugly. Since it's being shipped to the sponsors and users, it will need a full redesign so it looks less template-y.

Allow Resume Downloading Using REST Endpoint

There is already an existing endpoint for downloading resumes, by giving the server a list of user IDs to bundle and serve. However, it works by polling, and isn't necessarily the most efficient React way of doing it. While all the back-end works pretty well, maybe this polling can simply be replaced with an open connection.

Design User Profile Pages

Since we will be converting user pages into the React back-end, we need an all new design that easily allows for users to see and update their profiles, but gives flexibility to admins to make any modifications they want. Therefore, this design will need to accommodate every field that we store for the admin, and then hide the private fields when not being accessed by an admin.

Design Mobile Site

We need to make our beautiful desktop design into a fully fleshed out mobile design. This includes a fully-functional user registration form.

Set Up Resume Filtering

Pre-defined filters that Sponsors can use to quickly narrow down users; such as common graduation years, common majors (and major categories eg. STEM, CS/CE) and common universities.
We have some of these already defined from last years' website, and I can give you access to view the sponsor panel to document them.

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.