{"id":15013595,"url":"https://github.com/tariqjamel/ktor-authentication-app","last_synced_at":"2026-02-17T05:33:52.728Z","repository":{"id":256363840,"uuid":"850776835","full_name":"tariqjamel/Ktor-Authentication-App","owner":"tariqjamel","description":"A Kotlin app featuring secure user authentication with sign-up, sign-in, and home screens. It uses a Ktor API with JWT, MongoDB, and SHA-256. Built with Dagger Hilt and KSP for dependency injection and navigation. ","archived":false,"fork":false,"pushed_at":"2024-09-10T07:09:22.000Z","size":229,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-12T22:44:01.592Z","etag":null,"topics":["api","authentication","dagger-hilt","kapt","ksp","ktolin","ktor","mongodb","navigation","navigation-destinations","postman","signin","signup"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tariqjamel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-01T18:41:09.000Z","updated_at":"2024-09-10T07:12:42.000Z","dependencies_parsed_at":"2024-09-10T10:27:24.101Z","dependency_job_id":"b4d0f24e-6c92-49a8-aed1-f79511b0ab29","html_url":"https://github.com/tariqjamel/Ktor-Authentication-App","commit_stats":null,"previous_names":["tariqjamel/ktor-authentication-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tariqjamel%2FKtor-Authentication-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tariqjamel%2FKtor-Authentication-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tariqjamel%2FKtor-Authentication-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tariqjamel%2FKtor-Authentication-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tariqjamel","download_url":"https://codeload.github.com/tariqjamel/Ktor-Authentication-App/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243307334,"owners_count":20270256,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","authentication","dagger-hilt","kapt","ksp","ktolin","ktor","mongodb","navigation","navigation-destinations","postman","signin","signup"],"created_at":"2024-09-24T19:44:31.811Z","updated_at":"2025-10-10T08:38:28.606Z","avatar_url":"https://github.com/tariqjamel.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ktor Authentication App\n\n## Overview\n\nThis is a Ktor authentication app that demonstrates user authentication using a sign-up, sign-in, and home screen flow. The app integrates with an API for user authentication and utilizes Dagger Hilt for dependency injection and KSP for navigation destination.\n\n## Features\n\n- **Sign-Up Screen**: Allows users to register by entering a username and password.\n- **Sign-In Screen**: Allows users to log in with their credentials.\n- **Home Screen**: Displays after successful authentication and persists the user session for subsequent app launches.\n\n## Architecture\n\n- **Dagger Hilt**: Used for dependency injection to manage app components and dependencies.\n- **KSP (Kotlin Symbol Processing)**: Used for navigation determination and to handle the app's navigation flow.\n\n## API Integration\n\nThe app utilizes a Ktor-based authentication API featuring:\n\n- **JWT (JSON Web Tokens)**: For secure user authentication.\n- **MongoDB**: For data storage, including user information.\n- **SHA-256**: For hashing passwords.\n\n### Screenshot\n\u003cimg  src=\"mongodb_collection.png\" width=\"80%\" height=\"50%\"\u003e\n\n### Configuration\n\n- The API is configurable for local use with customizable IP addresses and MongoDB settings.\n\nFor more details, check out the [**Ktor Auth API repository**](https://github.com/tariqjamel/Ktor-Auth-API).\n\n## How It Works\n\n1. **Sign-Up and Sign-In**:\n   - Users can sign up or sign in using a username and password.\n   - Authentication is handled via an API, and upon successful login, a token is issued.\n   \n2. **Token Management**:\n   - The app stores the authentication token securely.\n   - On subsequent app launches, the token is checked, and the user is redirected to the home screen if already authenticated.\n\n3. **Navigation**:\n   - After successful sign-in, users are automatically navigated to the home screen.\n   - Navigation is handled via KSP, ensuring smooth transitions between screens.\n\n## Dependencies\n\n- **Dagger Hilt**: Dependency Injection\n- **KSP**: Navigation Determination\n\n## Usage\n\n1. **Sign-Up**: Enter your desired username and password to create an account.\n2. **Sign-In**: Log in with your credentials.\n3. **Home Screen**: Access the home screen after successful authentication.\n\n## Contribution\n\nFeel free to contribute by submitting issues or pull requests. Ensure to follow the project's coding standards and guidelines.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftariqjamel%2Fktor-authentication-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftariqjamel%2Fktor-authentication-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftariqjamel%2Fktor-authentication-app/lists"}