Giter Club home page Giter Club logo

increment-as-server's Introduction

Notes

Date

12/March/2020

Location of deployed application

Heroku https://increment-as-server.herokuapp.com/ (backend) https://increment-as-view.herokuapp.com/ (frontend)

Time spent

6 hours (back) 3 hours (front)

Assumptions made

I assumed the counter was generated per user.

Shortcuts/Compromises made

There are some repeated code, some functions that could be moved to utility files, some syntax sugars could be applied, removed some lint checks that I would like to solve. Not validating if the email is valid.

Stretch goals attempted

  • Deploying it to Heroku OK
  • Build UI OK

Instructions to run assignment locally

git clone https://github.com/andrefa/increment-as-server.git
yarn
mv .env.template .env #fill with respective configurations
yarn start

What did you not include in your solution that you want us to know about?

Tried to include Google OAuth, haven't found one straghtforward way to (Google developers console has more info/functionalities than I could imagine)

Other information about your submission that you feel it's important that we know if applicable.

I've built it to be persistent. To accomplish it, I'm using a Postgres database, currently hosted on Heroku. Also I've tried to build one consistent architecture. Added my own dependency injector, manually, to make it easier to test (tests not included).

Backend

Hosted on - https://increment-as-server.herokuapp.com/ Source code - https://github.com/andrefa/increment-as-server

Endpoints
POST /auth/login
	params
		email
		password
	returns
		authentication token
POST /auth/register
	params
		email
		password
	returns
		authentication token
GET /counter/current
	returns
		current counter
GET /counter/next
	returns
		current counter + 1
PUT /counter/current
	params
		current
	returns
		current counter

Frontend

Hosted on - https://increment-as-view.herokuapp.com/ Source code - https://github.com/andrefa/increment-as-view

Your feedback on this technical challenge

A good chalenge. I think it would be easier without the authentication part but probably it would be too simple for this assignment.

increment-as-server's People

Contributors

andrefa avatar

Stargazers

 avatar

Watchers

 avatar  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.