Git Product home page Git Product logo

briefcase's Introduction

Briefcase

Briefcase is an index of Turing alumni for employers to see. Students can create portfolios which detail the students' background and preferences. They are also able to link projects they worked on throughout their time at Turing.

Users login through Census, a third party application. All pictures and files are hosted on AWS S3.

Getting Started

  1. Clone the repository:
git clone [email protected]:turingschool-projects/briefcase.git
  1. Bundle application
  bundle install
  1. Install Figaro
  bundle exec figaro install
  1. Configure the following keys in the application.yml file
  • census_id
  • cencus_secret
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • S3_BUCKET_NAME
  • AWS_REGION
  1. Install React.js
rails g react:install

Running the tests

The test suite is running on Poltergeist and RSpec in order test the rails backend with the client side JavaScript. Poltergeist is a driver for Capybara.

To run all tests, run in the terminal:

rspec

Functionality

Authorization

A user logs in with Census which will give them the ability to create a portfolio. Census provides basic user information including first name, last name, and email. Users can not sign in with out a Census login.

Alumni

A registered user or guest can view all Turing alumni who have created a portfolio on the root page. Each portfolio has the alumni's picture, name, title and bio. A user can narrow their results by searching for a user's information. They can favorite portfolios by clicking on the portfolio heart. Portfolios can be sorted alphabetically by clicking on the sort icon.

Portfolios

Registered users can create a portfolio by visiting the dashboard page and clicking Create Portfolio. The portfolio requires the following fields

  • Full Name
  • Title
  • Bio
  • Email
  • Github URL
  • LinkedIn URL

Users can type markdown in the bio, looking for and best at fields. The fields accept fenced code blocks or any markdown format.

The markdown will be rendered on the alumni show page. The rendered markdown displays on the dashboard, alumni show page and the alumni index for each portfolio. After a user creates a portfolio, their portfolio will be visible on the alumni index page, where a user can view their individual profile.

Users can view, edit and delete their portfolio by visiting the dashboard.

Projects

Registered users can create up to three projects for their portfolio. Projects require the following fields:

  • Name
  • Github URL
  • Description

Users can upload a picture per project. After the user creates a project, the projects will be visible in the user's portfolio public show page.

Users can also view, edit and delete their projects by visiting the dashboard.

Deployment

Briefcase is currently deployed to two environments. Each environment is linked to different Census applications.

The development and master code branches are linked to Travis CI for continuous integration.

Technology

The application is currently using the following technlogies:

  • Server: Ruby On Rails 5.0.1
  • Client-side: React
  • Database: PostgreSQL
  • Libraries: JQuery, RedCarpet, Axios, Paperclip
  • Hosting: AWS S3

Data flows from the controllers to Rail's built in ERB views. The views then render React components and pass props. The components then handle the rendering of data, and any requests are sent back to the server via Axios.

Authors

briefcase's People

Contributors

dshinzie avatar mdes41 avatar antciccone avatar vidoseaver avatar neight-allen avatar

Watchers

James Cloos avatar  avatar

Forkers

nzenitram

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.