No matter if you are building a social network, an e-commerce platform, or a content management system, as long as your application is user facing and has a lot of data, searching is going to be a core feature for user to find necessary content. Think Amazon, Airbnb, Github, EBay, Quora, Youtube, Facebook, Pinterest - just about any populate site you can think of, they all have a search bar on the top.
The code for the website is hosted securely on Github. So should another developer work with you in the future, s/he has access to it. Th code is stored under Baseline's personal account for now.
Its an SQL database service for storing details of customer, orders etc. The first 10K rows are free. After that there is a $9/month for using 10 Million rows per month. You will be in the free plan until enough customers submit their details and you cross 10K rows.
Heroku, a cloud platform service, take care of your infrastructure. I can just focus on writing code. It also has instant deployment with Git push. It is easier to scale as you build more features (or) more people start visiting your website. Another big benefit is that you pay for what you use. Initially it will be $7/month (Hobby Plan).
Elasticsearch is a highly scalable open-source full-text search and analytics engine. It allows you to store, search, and analyze big volumes of data quickly.
For sending auto emails out to people from the website after they complete some action - I suggest using Mailgun. Mailgun provides 10K free emails every month. Should you need to send more than 10,000 emails per month then it is paid.
It basically makes accessing data from the database much faster + many more benefits.
Suppose there are three things that have to happen simultaneously. E.g. When a user submits a form - the app has to store the details in the database + take the user to the next page + send an email to tell you that a user has registered. There are three things which has to happen. But the user can’t wait for these things to happen. The user has to be taken to the next page instantly - and the other tasks (like sending emails etc) has to be done on the background - so that the user does not feel the time lag. For this we use Sidekiq as the background process.
The app may suddenly have some errors which we have not thought before. It may happen in real time after it is live. Instead of waiting for your customers to tell us that something was wrong or broken, I reccomend that we use a tool called Sentry which does automatic error monitoring.
This is for storing images, files securely online.
Ruby on Rails
This is an open source web application framework which we use to build your app. It makes programming in Ruby more fun and easy.
This is the best front end framework built by the designers at Twitter and Medium. It makes front-end development much easier.
At Baseline, I have a passion for turning ideas into reality.
How can I help you?