Skip to content

rex-9/auth-service-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

auth-service-api

Auth Service Api

📗 Table of Contents

📖 Auth Service Api

Auth Service Api is a robust backend framework for authenticated web applications, offering a solid foundation for diverse product development needs. This repository also serves as an excellent learning resource for anyone looking to master backend development. It emphasizes best practices on the server side, enabling developers to write simple yet clean code. You can find the corresponding frontend application here: Auth Service Web.

🚀 Featuring!

🌟 Modern Tech Stack

  • Ruby on Rails API: Built as an API-only application for efficient server-side processing.
  • PostgreSQL: Utilized for robust and scalable database management.
  • Devise for Authentication: Provides a secure and flexible user authentication system.
  • Swagger for API Documentation: Clear and interactive API documentation for easy integration.

🗃️ Testing & Quality Assurance

  • RSpec: Comprehensive automated testing framework to ensure application reliability and performance.

🏗️ Design Patterns & Architecture

  • MVC Design Pattern: Maintains a clean separation of concerns with the Model-View-Controller design pattern.
  • Dockerized: Facilitates easy deployment and management of the application using Docker.
  • Clean Architecture: Promotes maintainability and scalability with a modular architecture.

🔐 Authentication & Security

  • Email-Password Authentication: Securely authenticate users with email and password.
  • Google Authentication: Provide a seamless login experience with Google OAuth.
  • Forgot Password & Reset Password: Allow users to recover their accounts with ease.
  • Email Confirmation: Verify user email addresses to enhance security.

🛠 Built With

Tech Stack

Client
Server
Database

💻 Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

In order to run this project you need ruby-on-rails and postgresql set up on your computer or just a docker:

Check your ruby and postgresql installations are complete if you are not using docker.

  ruby --version && postgres --version

Setup

Clone this repository or download as a zip file to your desired folder:

  cd my-folder
  git clone [email protected]:auth-service/auth-service-api.git

Enter the Root level of the project

  cd auth-service-api

Install the dependencies using yarn or npm:

> bundle install

Set up the database:

> rails db:setup

Run database migrations:

> rails db:migrate

Scripts

Explore them under /scripts folder.

Run

run the app.

> sh scripts/run_dev.sh

Test

set up rspec for once

> rails generate rspec:install

execute tests

> sh scripts/exec_tests.sh

Doc

generate swagger documentation

> sh scripts/gen_rswag.sh

view the API documentation at

/api-docs/index.html

Performance

view the performance dashboard at

/performance

Explore More Open Source Projects

If you are interested in exploring more open source projects, check out Instacart's GitHub page:

Instacart Open Source Projects

☕ Support

If you like this project, please consider giving it a star on GitHub and buying me a coffee to support its development: 🌟

GitHub Stars

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •