{"id":29481644,"url":"https://github.com/nasim-khalili/emailverify","last_synced_at":"2026-04-09T02:02:44.109Z","repository":{"id":302474223,"uuid":"1012579735","full_name":"Nasim-Khalili/EmailVerify","owner":"Nasim-Khalili","description":"EmailVerify — Asynchronous OTP Email Verification System with Django, Celery \u0026 Redis","archived":false,"fork":false,"pushed_at":"2025-07-23T08:54:39.000Z","size":39,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-03T18:12:31.004Z","etag":null,"topics":["api","celery","crud","django","docker","elasticsearch","redis","test","testing","throttling","unittest","websocket"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Nasim-Khalili.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,"zenodo":null}},"created_at":"2025-07-02T14:47:18.000Z","updated_at":"2025-07-25T00:38:00.000Z","dependencies_parsed_at":"2025-07-03T15:45:14.053Z","dependency_job_id":null,"html_url":"https://github.com/Nasim-Khalili/EmailVerify","commit_stats":null,"previous_names":["nasim-khalili/emailverify"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nasim-Khalili/EmailVerify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nasim-Khalili%2FEmailVerify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nasim-Khalili%2FEmailVerify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nasim-Khalili%2FEmailVerify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nasim-Khalili%2FEmailVerify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nasim-Khalili","download_url":"https://codeload.github.com/Nasim-Khalili/EmailVerify/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nasim-Khalili%2FEmailVerify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31581864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","celery","crud","django","docker","elasticsearch","redis","test","testing","throttling","unittest","websocket"],"created_at":"2025-07-15T01:00:58.471Z","updated_at":"2026-04-09T02:02:44.097Z","avatar_url":"https://github.com/Nasim-Khalili.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EmailVerify\nAsynchronous OTP Email Verification System with Django, Celery \u0026 Redis\n\n## Project Overview\nEmailVerify is a Django-based project designed to securely verify user emails via OTP (One-Time Password) codes sent asynchronously using Celery and Redis. The system generates unique OTPs, stores them temporarily, and sends them via email in the background to enhance user experience without blocking the main server process.\n\nThis project demonstrates:\n- Django REST Framework for building API endpoints.\n- Celery task queue for asynchronous processing.\n- Redis as a message broker and caching backend.\n- JWT authentication integration.\n- Modular, clean project architecture.\n- Elasticsearch integration for logging user activities on posts.\n- Kibana support for visualizing logs.\n\n## Features\n- Generate and store OTP codes linked to user emails.\n- Send OTP emails asynchronously using Celery workers.\n- Secure API endpoints for requesting OTP.\n- Configurable expiration time for OTP codes.\n- Full CRUD operations on posts with owner-based permissions.\n- Log all post-related CRUD activities to Elasticsearch for audit and monitoring.\n- Docker and docker-compose setup for easy deployment.\n\n## Requirements\n- Python 3.10+\n- Django 5.x\n- Celery 5.x\n- Redis Server 5+\n- Elasticsearch 7.x\n- Other Python dependencies (see `requirements.txt`)\n\n## Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/Nasim-Khalili/emailverify.git\n   cd emailverify\n   pip install -r requirements.txt\n\n\n## Installation\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/Nasim-Khalili/emailverify.git\n   cd emailverify\n\n   pip install -r requirements.txt\n  ```\n  \n  python manage.py runserver\n  ```\nStart Redis server (locally or Docker):\n  ```\n  redis-server\n ```\n  Run Celery worker\n  ```\n  celery -A myproject worker -l info\n  ```\n---\n\n## Dockerization \u0026 Deployment with Nginx and HTTPS\n\nTo simplify deployment and ensure scalability, this project supports full Docker containerization including:\n\n- **Django app** and **Celery worker** running inside Docker containers.\n- **Redis** as a service container for caching and Celery broker.\n- **Nginx** as a reverse proxy server managing HTTP/HTTPS traffic and serving static files.\n- HTTPS support through Nginx for secure communication.\n\n### Running the project with Docker\n\n1. Build and start all services using Docker Compose:\n\n   ```bash\n   docker-compose up --build\n\n\n\n### 👩‍💻 Contributing \u0026 Support\n\nIf you like this project or found it useful, feel free to:\n\n- ⭐ Star this repository  \n- 🍴 Fork it and customize it  \n- 🐛 Report bugs or request features via Issues  \n\n---\n\n### 📬 Contact\n\nMade with  by **Nasim Khalili**  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasim-khalili%2Femailverify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnasim-khalili%2Femailverify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasim-khalili%2Femailverify/lists"}