Base Rails app that includes login, social login, homepage, and basic model for serving as a scaffold app.

Overview

Rails7Base

I created the Rails7Base as a scaffold application.

Alt text

Countless times, I had to create apps that must have the following features:

  1. Login system
  2. Social login
  3. Nested objects - recursive comments
  4. File uploads
  5. Forms
  6. Home page
  7. Custom look and feel

My main work is to develop MVPs for business ideas in my work. Being able to iterate apps ideas quickly is key to my work.

The current stack uses standard gems and libraries. For example, I'm using Bootstrap 5 for CSS templates. I tried using Tailwind - it's excellent, but it would require more time to customize. The advantage of Bootstrap 5 is that there are many examples and themes that I can build on top.

To accelerate development, I use HAML, Simple_form and SCSS.

For the login system, I'm using Devise with Rollify and CanCanCan. Very standard implementation.

For social login, it's more complicated. Again, I'm using omniauth, but I had to customize it, and you will see it in the relevant sections in the code.

Additional Screenshots

Alt text

Alt text

You can use the classes in the html elements to customize your app.

What have I not added to this base code?

  • Deployment libraries and code

How to use

If you are using Ruby 3.1.0, you must follow the instructions below. If you are using another Ruby version, please use rbenv or another ruby manager to version 3.1.0.

You should be able to run this code quickly.

Clone this repo.

git clone https://github.com/designium/rails7base

Then do

bundle install

Run the following commands to install esbuild and scss:

 ./bin/rails javascript:install:esbuild

Ignore all the errors. We have the files in place already.

 ./bin/rails css:install:bootstrap

Also ignore all errors, but it will ask you to overwrite, just say "n". Don't overwrite. We have the file setup correctly.

To send an email and use social logins, you have to provide the credentials for each social login, and you must provide the callback URL for each provider. Please follow the instructions for each omniauth library. Check the Gemfile.

You have to provide your credentials to run the social login part.

EDITOR="nano" bin/rails credentials:edit

Add the following template into your credentials file (change the brackets for your value - no quotes):

# Email stuff
emailserver:
  user_name: [add the user name of your email SMTP account]
  password: [enter your password]
  stmp_address: [your smtp server]

# Omniauth related
google:
  client_id: [add you value]
  client_secret: [add you value]
facebook:
  app_id: [add you value]
  secret: [add you value]
microsoft:
  application_client_id: [add you value]
  secret: [add you value]
linkedin:
  client_id: [add you value]
  client_secret: [add you value]
twitter:
  api_key: [add you value]
  api_key_secret: [add you value]
  bearer_token: [add you value]
  client_id: [add you value]
  client_secret: [add you value]
github:
  client_id: [add you value]
  client_secret: [add you value]
quickbooks:
  client_id: [add you value]
  client_secret: [add you value]

After all of this, please do

 rails db:create db:migrate

Finally

 ./bin/dev

You will be routed to the login page. You can just create a dummy user to access the post class. Currently, it is the main routing path.

You need to customize the look and feel!

You might also like...

Easy Social Media Login Authentication integrator

Easy Social Media Login Authentication integrator

AuthJs Easy Social Media Login Authentication integrator CDN authjs.min.js https://cdn.jsdelivr.net/npm/@rohit-chouhan/authjs/authjs.min.js authjs.js

Jan 30, 2022

This Application provides basic authentication features like you can register and create account and then login and access your profile.

  This Application provides basic authentication features like you can register and create account and then login and access your profile.

Authentication API This Application provides basic authentication features like you can register and create account and then login and access your pro

Jan 17, 2022

Hackathon for Social Good 2022 and use your superpowers to create a solution for the social good.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Jun 27, 2022

🟢 Music player app with a modern homepage, fully-fledged music player, search, lyrics, song exploration features, search, popular music around you, worldwide top charts, and much more.

🟢 Music player app with a modern homepage, fully-fledged music player, search, lyrics, song exploration features, search, popular music around you, worldwide top charts, and much more.

Music-player-app see the project here. 1. Key Features 2. Technologies I've used Key Features: 🟢 Fully responsive clean UI. 🟢 Entirely mobile respo

Nov 16, 2022

A social media platform aimed to capture the essence of all popular, existing social media platforms

A social media platform aimed to capture the essence of all popular, existing social media platforms

Social Fuel Reimagining Social Media, step by step 📌 About A social media platform aimed to capture the essence of all popular, existing social media

Feb 12, 2022

Scaffold a full-stack SvelteKit application with tRPC and WindiCSS out of the box

create-sweet-app Interactive CLI to quickly set up an opinionated, full-stack, typesafe SvelteKit project. Inspired by the T3 Stack and create-t3-app

Dec 16, 2022

A toolkit to rapidly scaffold out a new tauri-apps project using the framework of their choice.

A toolkit to rapidly scaffold out a new tauri-apps project using the framework of their choice.

create-tauri-app Component Version create-tauri-app About Tauri Tauri is a polyglot and generic system that is very composable and allows engineers to

Jan 4, 2023

T6e: scaffold any local template into a custom file

T6e is a small tool (no dependencies, 50 lines of code) to scaffold any local template and speed up the creation of files in a project using your custom templates or templates from the community.

Dec 23, 2022
Owner
Chim Kan
Chim Kan
scaffold-stark is a forkable StarkNet dev stack focused on fast product iterations, inspired by scaffold-eth.

?? scaffold-stark scaffold-stark is a forkable StarkNet dev stack focused on fast product iterations, inspired by scaffold-eth. Drop in your Cairo sma

parketh 25 Oct 7, 2022
JavaScript Express.js app serving static vanilla JS. This sample app is used in Microsoft Docs to demonstrate how to integrate Azure Storage, Azure Cosmos DB, and Azure Active Directory.

JavaScript on Azure Learn Path - Module 2 - Deploying a basic app to Azure This Learn module requires the following Azure resources to deploy correctl

Azure Samples 13 Dec 31, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A light microservice serving Atom 1.0 Feeds for MusicThread threads

MusicThread Web Feeds A light microservice to serve Atom 1.0 Feeds for MusicThread. People use web feeds for following updates to specific threads via

Brushed Type 4 Jun 15, 2022
A "Basic-to-Lisp" compiler. But Basic is not real Basic, and Lisp is not real Lisp.

Basic2Lisp A "Basic-to-Lisp" compiler. But Basic is not real Basic, and Lisp is not real Lisp. Syntax Print-Sth Put some-value to standard output. PRI

Hana Yabuki 5 Jul 10, 2022
A base project for Express with Typescript to create an API. Includes automatic input validation and Swagger UI generation.

(Typescript) Express API with input Validation and Swagger UI Thats a mouthful isn't it. Typescript: The language used, a superset of Javascript with

Tjeerd Bakker 6 Oct 26, 2022
Deta Base UI - A place with more functionality for managing your Deta Base(s).

Deta Base UI - A place with more functionality for managing your Deta Base(s). ✨ Features: Total rows count Quick multi select (click and shift) Searc

Harman Sandhu 13 Dec 29, 2022
Steam Game - Nimby Rails

Nimby-Rails-Mod.txt-File-Tools Steam Game - Nimby Rails zh: 这是Steam中的一个铁道游戏《Nimby Rails》的Mod配置文件编辑器。 这个配置文件编辑器用的是纯JS语法 用了HTML+CSS+JS+JQuery+一点点的Vue 本质

Mikeson Zhang 3 Jun 14, 2022