DEV Community

Brittany
Brittany

Posted on

Day 5 - #100DaysofCode - Setting up a Sinatra App

Something I struggle with is setting up my text editor/app with the correct file structure to proceed with a project. Sometimes you dont need all the information given in running rails new APP_Path and I was given the following templates -- corneal and Hazel -- that do come in handy, but sometimes you just want to build it yourself.

Directory structure:

├── config.ru ├── Gemfile ├── Gemfile.lock ├── Rakefile ├── README ├──── app │ ├──── controllers │ │ └──── application_controller.rb │ ├──── models │ └──── views │ ├──── layout.erb │ └──── index.erb ├──── config │ ├──── initializers │ └──── environment.rb ├──── db │ ├──── migrate │ └──── seeds.rb ├──── lib │ └──── .gitkeep └──── public | ├──── images | ├──── javascripts | └──── stylesheets | └───── main.css └──── spec ├──── application_controller_spec.rb └──── spec_helper.rb 
Enter fullscreen mode Exit fullscreen mode

So I set up the below if you want to just copy and paste into a terminal:
First mkdir app_name then cd app_name

touch config.ru bundle init Gemfile touch Rakefile touch README mkdir app mkdir app/models mkdir app/views touch app/views/index.erb touch app/views/layout.erb mkdir app/controllers touch app/controllers/application_controller.rb mkdir config touch config/environment.rb mkdir db mkdir db/migrate touch db/seeds.rb mkdir public mkdir public/images mkdir public/javascript mkdir public/stylesheets touch public/stylesheets/main.css 
Enter fullscreen mode Exit fullscreen mode

I found it easier to copy and paste the above information to get the files I need in my application going.

After getting my file structure set up it is important to add all the gems you may require

Sinatra bundle add sinatra

Sinatra-activerecord bundle add sinatra-activerecord

activerecord bundle add activerecord

sqlite3 bundle add sqlite3

pry bundle add pry

require_all bundle add require_all

shotgun bundle add shotgun

then you must run bundle install

Feel free to add as many gems that you may require to proceed with your project. After completing that you need to make sure that your files are connected correctly and have the correct information inside of them. I cover that in a future post.

Top comments (0)