Code Monkey home page Code Monkey logo

coderschool_week2_chatapp's Introduction

Hi, I'm Alberto Montalesi

I'm a self taught full stack developer from Italy, currently located in Vietnam where I work on enterprise software using a stack comprised of Angular,MySQL and AWS.

Being passionate about JavaScript and the web, I wrote and published the book Complete Guide to Modern JavaScript, now at its fourth edition which I've also turned into a Course On Educative.

I also write tutorials and other (hopefully) useful articles on my website InspiredWebDev.

I'm currently creating a series where I explain how to complete several challenges from CodeWars, you can find it at this link while at the same time working on another personal project that hopefully will be released by the end of the year.

Where to find me

You can contact me on twitter @montalesi


Metrics

Personal Projects I've worked on

In November 2020 I've launched map2maps.com a map comparison tool that allows you to draw a shape on one map and see how it compares on up to 3 other maps.It was built using Angular and LeafletJS; i've reworked it in 2023 to use NextJS and MapBox.

image

coderschool_week2_chatapp's People

Contributors

albertomontalesi avatar

Watchers

 avatar  avatar

coderschool_week2_chatapp's Issues

Thanks!

Hi @lanhhoang, nice work with your assignment 2 submission ๐Ÿ‘

The goals of this homework are:

  • to know how to implement authentication from scratch in Rails with the help of the has_secure_password class method and the brypt gem (while understanding what they do under the hood)
  • to design a more complex schema for a web app and be more familiar with ActiveRecord API such as custom foreign keys for belongs_to/has_many, using has_many :through and building more advanced queries by chaining where, order, and merge
  • to build more complex forms in views that involve multiple models.

Quick review:

  • Correctly handle user signup in Users controller and user login in Sessions controller and define current_user correcty
  • Use validations for improtant columns
  • Try to use more partial
  • Correctly define belongs_to/has_many with custom class_name and foreign_id
  • Correctly use has_many :through for friendship
  • Follow basic Ruby style guide: don't use multiple empty lines to separate methods, one is enough

Great work on implementing all required stories and also some optional stories.

Detailed review

Gemfile:

  • You put bcrypt gem to development/test gem group, It means bcrypt is not available on Production(Heroku), so I think it could be your problem with heroku, try to move it out of the group and redeploy.
group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platform: :mri
end
gem 'bcrypt', '~> 3.1', '>= 3.1.11' ------ this line
gem 'bootstrap', '~> 4.0.0.alpha6'
source 'https://rails-assets.org' do
  gem 'rails-assets-tether', '>= 1.3.3'
end

Routes file:

  • Good RESTful routes with resources method and Clean custom routes

Controllers:

  • good use pf before_action
  • define current_user in ApplicationController and use helper_method to make it available for the view

Congrats again on the submission. Everyone has limited time; it's good to see you .... Let us know if you have any feedback.

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.