Coder Social home page Coder Social logo

mywork-challenge's Introduction

mywork challenge

This project was made using Ruby on Rails v5.2.3 and Ruby 2.6.1. It's a simple Timetracker (registro de ponto) for Employees to register their times to work, and for Company Managers to create Geofences that restric the locations where employees can register the timetrack, and to see their information.

How to run it

Clone this repository with:
git clone [email protected]:mathvp/mywork-challenge.git

Enter the project folder:
cd mywork-challenge

Install all dependecies with:
bundle install

Run the Migrations with:
rails db:migrate

Start the server with:
rails s

Access http://localhost:3000 on your browser.

Runing the tests

To check all the tests, enter in the project folder and run:
rspec

Technical choices

  • Materialize
    I used Materialize framework for the UI because it has a nice looking from Material Design, saves lots of time with the utilities classes and it's mobile friendly. Also, it's easy to use (second time that I'm using it).

  • Vue.js
    To help me with js frontend part I choose the Vue.js, that turn more easy to interact between the Maps and Forms with two way data binding. I load it from CDN to keep simple, because config with Rails/Webpack/Vue will take too much time.

  • Leaflet
    For the maps I used Leaflet instead of Google Maps, simply because Google Maps wasn't work with free API. It was required to insert billing information. So I found the Leaflet and I really like the easy way to create the maps and add markers to it. And works good with Vuejs.

  • Rspec and Capybara
    The tests was made with Rspec and Capybara GEMs.

  • Rubocop
    To format the code with the ruby style, it was used the Rubocop

Screenshots

Geofence Screen


Geofence Screen


mywork-challenge's People

Contributors

mathvp avatar

Watchers

James Cloos 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.