{"id":15180604,"url":"https://github.com/philiptitus/vectorapi","last_synced_at":"2026-02-10T19:35:45.173Z","repository":{"id":256245903,"uuid":"854701923","full_name":"philiptitus/vectorapi","owner":"philiptitus","description":"This is Vector API the Django Server Running Jennie AI","archived":false,"fork":false,"pushed_at":"2024-12-11T09:20:18.000Z","size":2322,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-31T23:04:51.164Z","etag":null,"topics":["ai","aws","awscognito","codestral","django","django-application","django-rest-framework","gemini-api","gemini-pro","google","google-calendar-api","google-cloud-platform","google-oauth2","googlesearchapi","interview-preparation","jdoodle-api","jwt-authentication","youtube-api"],"latest_commit_sha":null,"homepage":"https://jennie-steel.vercel.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/philiptitus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-09T16:22:35.000Z","updated_at":"2024-12-11T09:20:22.000Z","dependencies_parsed_at":"2024-09-09T20:45:59.235Z","dependency_job_id":"130e3cb3-01c3-4911-8947-354ac12c051f","html_url":"https://github.com/philiptitus/vectorapi","commit_stats":{"total_commits":8,"total_committers":2,"mean_commits":4.0,"dds":0.375,"last_synced_commit":"d4bbb1e4ef1ecbfd8f14e84429924cc495d6586d"},"previous_names":["philiptitus/vectorapi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philiptitus%2Fvectorapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philiptitus%2Fvectorapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philiptitus%2Fvectorapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philiptitus%2Fvectorapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philiptitus","download_url":"https://codeload.github.com/philiptitus/vectorapi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238394323,"owners_count":19464583,"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":["ai","aws","awscognito","codestral","django","django-application","django-rest-framework","gemini-api","gemini-pro","google","google-calendar-api","google-cloud-platform","google-oauth2","googlesearchapi","interview-preparation","jdoodle-api","jwt-authentication","youtube-api"],"created_at":"2024-09-27T16:23:20.286Z","updated_at":"2025-10-26T19:31:52.668Z","avatar_url":"https://github.com/philiptitus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# Vector API for Jennie AI\n\nThis repository contains the backend API for the **Jennie AI** project, used to interact with various endpoints for testing and development purposes. You can also find the frontend code for this project in the [Jennie Frontend Repository](https://github.com/philiptitus/jennie.git).\n\nAdditionally, you can access the complete API documentation [here](https://documenter.getpostman.com/view/31401198/2sAXjDfG64).\n\n---\n\n## Table of Contents\n\n1. [Technologies Used](#technologies-used)\n2. [Getting Started](#getting-started)\n3. [Environment Setup](#environment-setup)\n4. [Running the Application](#running-the-application)\n5. [Available Endpoints](#available-endpoints)\n6. [Testing the API](#testing-the-api)\n7. [Contributing](#contributing)\n8. [License](#license)\n\n---\n\n## Technologies Used\n\nThe backend for **Jennie AI** is powered by Django and utilizes the following packages:\n\n- Django 4.2.15\n- Django REST Framework 3.15.2\n- Simple JWT 5.3.1\n- Django CORS Headers 4.4.0\n- Django Ratelimit 4.1.0\n- Django Redis 5.4.0\n- Django Storages 1.14.4\n- Celery\n- Python-dotenv\n- Flask 3.0.3\n- Flask-CORS 4.0.1\n- Gunicorn\n- Psycopg2 2.9.9\n- Google API Libraries (Generative AI, Authentication, etc.)\n\nFor a complete list of dependencies, refer to the `requirements.txt` file.\n\n---\n\n## Getting Started\n\n### Prerequisites\n\nBefore starting, make sure you have the following installed:\n\n- **Python** (version 3.8+)\n- **PostgreSQL**\n- **Redis** (optional, if using Celery)\n- **Virtualenv**\n\n### Environment Setup\n\n1. **Clone the Repository**\n\n   Clone the project repository from GitHub:\n\n   ```bash\n   git clone https://github.com/philiptitus/vectorapi.git\n   cd vectorapi\n   ```\n\n2. **Create a Virtual Environment**\n\n   Set up a Python virtual environment:\n\n   ```bash\n   python3 -m venv venv\n   source venv/bin/activate  # On Windows, use `venv\\Scripts\\activate`\n   ```\n\n3. **Install Dependencies**\n\n   Install the necessary project dependencies:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. **Set Up Environment Variables**\n\n   Create a `.env` file in the project root directory with the following variables:\n\n   ```bash\n   DJANGO_SECRET_KEY=your-secret-key\n   DJANGO_DEBUG=True  # Set to False in production\n   DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1\n\n   DB_NAME=your_db_name\n   DB_USER=your_db_user\n   DB_PASSWORD=your_db_password\n   DB_HOST=localhost\n   DB_PORT=5432\n\n   GOOGLE_API_KEY=your-google-api-key\n   YOUTUBE_API_KEY=your-youtube-api-key\n   GOOGLE_SEARCH_API_KEY=your-google-search-api-key\n   GOOGLE_CUSTOM_SEARCH_ENGINE_ID=your-custom-search-engine-id\n\n   EMAIL_HOST_USER=your-email@example.com\n   EMAIL_HOST_PASSWORD=your-email-password\n\n   # Optional Celery settings\n   # CELERY_BROKER_URL=redis://localhost:6379/0\n   # CELERY_RESULT_BACKEND=redis://localhost:6379/0\n   ```\n\n5. **Apply Migrations**\n\n   Run database migrations:\n\n   ```bash\n   python manage.py migrate\n   ```\n\n6. **Create a Superuser**\n\n   Set up an admin user for the Django admin interface:\n\n   ```bash\n   python manage.py createsuperuser\n   ```\n\n7. **Collect Static Files**\n\n   Collect static assets:\n\n   ```bash\n   python manage.py collectstatic\n   ```\n\n---\n\n## Running the Application\n\n1. **Start the Development Server**\n\n   Run the application locally using the Django development server:\n\n   ```bash\n   python manage.py runserver\n   ```\n\n   The app will be available at `http://localhost:8000`.\n\n2. **Start Celery Worker (Optional)**\n\n   If you're using Celery for background tasks, you can start the worker with:\n\n   ```bash\n   celery -A jennie worker --loglevel=info\n   ```\n\n3. **Production with Gunicorn**\n\n   For production, you can serve the application using Gunicorn:\n\n   ```bash\n   gunicorn jennie.wsgi:application --bind 0.0.0.0:8000\n   ```\n\n---\n\n## Available Endpoints\n\nHere are the primary API endpoints available:\n\n### User Endpoints (`/api/users/`)\n- **Login**: `POST /api/users/login/`\n- **Register**: `POST /api/users/register/`\n- **Get Profile**: `GET /api/users/profile/`\n- **Update Profile**: `PUT /api/users/profile/update/`\n- **Delete Account**: `DELETE /api/users/delete/`\n- **Password Reset Request**: `POST /api/users/password-reset/`\n- **Password Reset Confirmation**: `POST /api/users/password-reset-confirm/\u003cuidb64\u003e/\u003ctoken\u003e/`\n- **Set New Password**: `POST /api/users/set-new-password/`\n\n### API Endpoints (`/api/v1/`)\n- **Latest Interview Session**: `GET /api/v1/latest/`\n- **Answer List**: `GET /api/v1/answers/`\n- **Notification List**: `GET /api/v1/notifications/`\n- **Check Session Expired**: `GET /api/v1/expired/`\n- **Run Code**: `POST /api/v1/run/`\n- **Get Code**: `GET /api/v1/code/`\n- **Get Agent**: `GET /api/v1/agent/`\n- **Preparation Material List**: `GET /api/v1/materials/`\n- **Job List**: `GET /api/v1/jobs/`\n- **Create Job**: `POST /api/v1/jobs/create/`\n- **Create Interview**: `POST /api/v1/interviews/create/`\n- **User Interviews**: `GET /api/v1/interviews/`\n\n---\n\n## Testing the API\n\nYou can test the API locally or on the deployed server.\n\n- **Local Testing**: Use tools like [Postman](https://www.postman.com/) or `curl` for testing. \n- **Deployed Server**: If you prefer, you can test the deployed version of the API using the following base URL:\n\n  ```\n  https://jennie-1720624972853.ue.r.appspot.com\n  ```\n\n### Postman Testing\n\n1. **Import Endpoints**: Create a collection in Postman and add the API endpoints with their corresponding request methods (GET, POST, PUT, DELETE).\n   \n2. **JWT Authentication**: For protected routes, obtain a JWT token by logging in via the `/api/users/login/` endpoint. Include the token in the `Authorization` header:\n\n   ```\n   Authorization: Bearer \u003cyour-jwt-token\u003e\n   ```\n\n3. **Sample Request**: Example of retrieving the latest interview session:\n\n   ```\n   GET https://jennie-1720624972853.ue.r.appspot.com/api/v1/latest/\n   ```\n\n---\n\n## Contributing\n\nWe welcome contributions! Feel free to fork this repository, make improvements, and submit pull requests. Any contributions are greatly appreciated.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n\n---\n\n© 2024 Philip Titus\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphiliptitus%2Fvectorapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphiliptitus%2Fvectorapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphiliptitus%2Fvectorapi/lists"}