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.
- 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.
- RSpec: Comprehensive automated testing framework to ensure application reliability and performance.
- 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.
- 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.
Client
- React
- TailwindCSS
- TypeScript
- Vite
- Docker (for development)
Server
- Ruby on Rails
- Devise
- Redis
- Docker (for development)
Database
To get a local copy up and running, follow these steps.
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 --versionClone this repository or download as a zip file to your desired folder:
cd my-folder
git clone [email protected]:auth-service/auth-service-api.gitEnter the Root level of the project
cd auth-service-apiInstall the dependencies using yarn or npm:
> bundle installSet up the database:
> rails db:setupRun database migrations:
> rails db:migrateExplore them under /scripts folder.
run the app.
> sh scripts/run_dev.shset up rspec for once
> rails generate rspec:installexecute tests
> sh scripts/exec_tests.shgenerate swagger documentation
> sh scripts/gen_rswag.shview the API documentation at
/api-docs/index.html
view the performance dashboard at
/performance
If you are interested in exploring more open source projects, check out Instacart's GitHub page:
Instacart Open Source Projects
If you like this project, please consider giving it a star on GitHub and buying me a coffee to support its development: 🌟