https://github.com/mineme0812/rails-code-assessment
Code assessment for job interview
https://github.com/mineme0812/rails-code-assessment
authentication code-assessment forgot-password job-interview letter-o rails
Last synced: 3 months ago
JSON representation
Code assessment for job interview
- Host: GitHub
- URL: https://github.com/mineme0812/rails-code-assessment
- Owner: MineMe0812
- Created: 2023-04-25T15:13:06.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-04-25T15:24:19.000Z (about 2 years ago)
- Last Synced: 2025-01-22T13:51:42.444Z (4 months ago)
- Topics: authentication, code-assessment, forgot-password, job-interview, letter-o, rails
- Language: Ruby
- Homepage:
- Size: 301 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Incubit code assessment
## Overview
This is ruby on rails application built for [code assessment](https://hackmd.io/@IncWebTeam/SkJyknsSN?type=view) from Incubit company interview process.
## How to run
* Please be prepared with `ruby-2.7.1` if you don't have.
You can use any ruby version manager(fyi, i'm using [asdf](https://github.com/asdf-vm/asdf))
* Clone the repo and update the [database connection info](./config/database.yml#L23-L25)
You will need the database user with db creation permission.```bin/bash
$ cd incubit-assessment
$ bundle install # install all required dependencies
$ rails db:create db:migrate # Create database and run migration
$ rails s # start server
```You can run testing with ```bundle exec rspec``` command.
## Goals
Here's the list of completed goals
- [X] As a user, I can visit sign up page and sign up with my email (with valid format and unique in database) and password (with confirmation and at least eight characters).
- [X] When I sign up successfully, I would see my profile page.
- [X] When I sign up successfully, I would receive a welcome email.
- [X] When I sign up incorrectly, I would see error message in sign up page.
- [X] As a user, I can edit my username and password in profile page. I can also see my email in the page but I can not edit it.
- [X] When I first time entering the page, my username would be my email prefixing, e.g. (email is “[email protected]” , username would be “user”)
- [X] When I edit my username, it should contain at least five characters. (Default username does not has this limitation)
- [X] As a user, I can log out the system.
- [X] When I log out, I would see the login page.
- [X] As a user, I can visit login page and login with my email and password.
- [X] As a user, I can visit login page and click “forgot password” if I forgot my password.
- [X] When I visit forgot password page, I can fill my email and ask the system to send reset password email.
- [X] As a user, I can visit reset password page from the link inside reset password email and reset my password (with confirmation and at least eight characters).
- [X] The link should be unique and only valid within six hours.Also it meets the demand of following concerns
- [X] Use PostgreSQL
- [X] Do not use third party library for user registration. (e.g. Devise)
- [X] Please use https://github.com/ryanb/letter_opener for the email in development environment.
- [X] Write test code in any test suite you like.
- [X] Use Git for version control with WELL commit message.
- [X] Write README about how to get start for the project.