*~ by Barbara Rodriguez ~*
Website: HolaAloha! Github: My Github
*Note - This project was part of an assignment given by our educational institute - Coder Academy - which we had a week to complete.
- The Design Process
- Trello Board
- ERD
- Workflow
- Models
- Mood Board
- Colour Schemes
- Fonts
- Wireframes
- Ruby Gems and Api's Used
- Problems & Solutions
- Improvements
- Final Review
- To design, build, deploy and present a Ruby on Rails Application.
- Application must be a two-sided marketplace
- Deliver a 7-minute presentation - PITCH IT!
Create an app that provides a two-sided marketplace for Language Exchange services.
The name of the application/website will be "Hola! Aloha!".
It's an application for individuals/businesses who require documents/files translated in an efficient and timely manner whilst, being assured - it's provided by certified professionals.
- Services provided by Interpreters and Translators will by certified by NAATI (National Accreditation Authority for Translators and Interpreters)
- Easy to use registration/log-in services
- Ratings based profiles
- Live notification and messages system to ensure efficient communication between users
- FAQ page to assist users
Current language exchange services:
- Gengo
- NATTI
- Melbourne Translation
- Melbourne Certified Translator
- Migration Translators
- Beyond Translations
*Results based on top 5 sites on Google search - "certified translators melbourne".
Trello Board - Hola! Aloha! Marketplace
My Users consist of two profiles - Customers and Interpreters. Users can sign-up, but will need to create a profile before initializing an order through the application. Customers and Interpreters will be able to communicate via an instant message notification system to ensure speedy response times by both users. Both Customers and Interpreters can send a request for an order; thus eliminating the need to create multiple profiles.
- As a customer, I want to get my birth certificate translated so that I can apply for my Australian passport.
- As a customer, I want to get my name-change document translated, so that I can apply for my student visa.
- As a customer, I want to get my client's Will document translated, so that I can proceed with insurance claims.
- As a customer, I want to get my client's bank statement translated, so that I can plan my client's retirement.
- As an individual, I want to get my name-change document translated, so that I can apply for my student visa.
- As an Interpreter, I want to choose my own hourly rate, so that I know what my time is worth.
- As an Interpreter, I want to be able to search clients quickly, so that I can work more efficiently.
- As an Interpreter, I want to be able to choose my client, so I know where my skills are put at to best.
- As an Interpreter, I want to be able to expand my services to businesses, so that I can grow my own clientele.
My ERD consists of using simple and effective models to interact with controllers; this is to avoid clutter within the rails application.
Link to my DB Designer ERD.
I developed a workflow document to provide a visual representation of how my website application will flow through as a new user.
Link to my Flowchart.
User
- email :string
- password :string
Profile
- first_name :string
- last_name :string
- image_data :text
- date_of_birth :date
- house_no :string
- street_name :string
- suburb :string
- state :string
- postcode :string
- country :string
Languages
- en :string
Jobs
- subject: text
- description :text
- file_data :text
- price :integer
- paid_at :datetime
- stripe_charge_id :string
- completed_at :string
Conversations
- sender_id :integer
Messages
- from_id :integer
- body :text
- read :boolean
Review
- comment :varchar
- rating :decimal
Link to my Figma Page.
- Rspec (Testing Framework)
- Dotenv-Rails (Environment Variables)
- Devise (Authentication)
- Pundit (Authorization)
- Stripe (Payments)
- Shrine (File Attachment)
- Mailgun (Transactional Emails
- Faker (Generates fake data)
- Language Lists (Generates Languages)
- PG (Postgres)
- Stripe (Payments)
- Mailgun (Transactional Emails)
During my development process, I encountered numerous problems - anywhere from the design stage to deploying my website Heroku.
In summary, below is a display of problems/errors encountered along the way.
This includes any students/teachers that may have contributed with solving the issue/s at the time.
Type | Problem | Solved? | Contributers? |
---|---|---|---|
Models ERD | Incorrect relationships & references | Yes |
Ruegen |
Faker GEM | Unable to create 'fake' users | Yes |
Pete |
Pundit GEM | Unable to get Pundit to work | No |
|
Stripe GEM | Issues with 'price' and params | Yes |
Richard & Meng |
Shrine GEM | Unable to display images | Yes |
Mill |
Mailgun GEM | Unable to make gem work | Yes |
Meng |
Search Bar | Unable to search 'jobs' in search field | No |
|
Stylesheets | Stylesheets not loading properly | Yes |
|
Heroku | Issues deploying | Yes |
Pete & Meng |
MVC | Methods and params | ~ |
Meng/Pete/Cameo/Matt |
Routing | Countless routing issues | Yes |
|
Tables | N/A | N/A |
Maxi |
- Ensure ERD is correct - triple check if Necessary!!
- Git branch! Git commit! I didn't use it at the start as much as I needed to
- Collaborate with other students and teachers more to bounce ideas/solve problems
- Careful with scaffold (could get messy at times)
- Leave styling to the end
..There's "Always" room for improvement
Although difficult and "EXTREMELY" tiresome, this assignment has pushed the boundaries - and in doing so - has given me a great learning experience and beyond what I thought I could achieve in a short amount of time.
ROR has a lot to offer - and I see how it has been used by so many developers.