Giter VIP home page Giter VIP logo

app-ws's Introduction

Engineer Work Sample

Work sample to be completed to apply for the engineer position at Crowdcast.

Context

At Crowdcast, we use a variety of technologies to serve realtime data to our users. Our core interactions happen with Firebase, but we also interact heavily with our own RESTful APIs.

The app in this repository is an Angular app served from a Node server.

To test your abilities, we've created a very incomplete app which has the responsibility of exposing a UI to our users for browsing a list of blogger's profiles.

We created a small service (hosted at:https://crowdcast-ws.herokuapp.com/) which provides basic user profiles. All of this is fake and modeled to work with this app. All profiles are fake.

Setup

Required software & frameworks

  • Node 4.x
  • Angular 1.5.3

Starting up

The best way to work is by cloning the code to your local machine. Do not fork the code base to a public repo - we don't want people claiming your work as their own.

// only on initial setup
npm install
npm start

The server listens to localhost:3101 and watches any .js, .scss in client/app. All code you write should be inside client/app. You can structure the subfolders however you want, though. When adding or deleting files, you will need to restart the server.

Accessing stuff

Fetch user profiles from our service hosted at https://crowdcast-ws.herokuapp.com/

GET /users
returns a list of users with basic profile data
GET /users/:id
returns a single user with complete profile data
POST /follow
data: { username: usernameToFollow }
Follows a given user
DELETE /follow?username=usernameToUnfollow
Unfollows a given user

What's expected of you

As a general rule, you own this app and can structure it however you want. This could mean reorganizing things and probably means adding routes, controllers, models, and specs as you feel is necessary. ES6 is strongly encouraged.

Use the tools and libraries you enjoy using.

Aesthetics

Your presentation should be something you're proud of. The user-experience and aesthetic aspects should be well considered. We're not expecting an exceptionally well designed app with Crowdcast's branding applied, but a generally sound user experience is.

Feature: Display list of users

This is the landing page of your application. It should simply display a list of users along with their basic information.

Feature: Popover to show complete user profile.

Interacting with one of the users in your list (click / hover / etc, you decide) should show a popover (modal) with more information about the user.

Example mock

Example popover

app-ws's People

Contributors

mcassagnes avatar dylanjha avatar

Watchers

Roger Stringer avatar Thomas Maximini avatar Sai avatar James Cloos avatar Elliott Linder avatar Laith Azzam avatar Christophe Vichery avatar Luke Chui avatar Jason Keum avatar

Forkers

slimui

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.