Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/illfil/rest-api
This REST API is built using Django and Django REST Framework. It provides functionalities for user profile management, authentication, status updates, and feed viewing.
https://github.com/illfil/rest-api
python rest-api vagrant virtualbox
Last synced: 30 days ago
JSON representation
This REST API is built using Django and Django REST Framework. It provides functionalities for user profile management, authentication, status updates, and feed viewing.
- Host: GitHub
- URL: https://github.com/illfil/rest-api
- Owner: IllFil
- Created: 2024-05-14T18:02:20.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-08-08T14:11:08.000Z (5 months ago)
- Last Synced: 2024-10-14T23:21:18.205Z (2 months ago)
- Topics: python, rest-api, vagrant, virtualbox
- Language: Python
- Homepage:
- Size: 67.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# REST API
This project provides a Django-based REST API for managing user profiles. It includes endpoints for user profile creation, retrieval, updating, and deletion.
## Project Structure
- **`profiles_api/`**: Contains the core API logic, including models, serializers, views, and URLs.
- **`profiles_project/`**: Contains Django project settings, URLs, and WSGI configurations.
- **`deploy/`**: Deployment configurations, including Nginx and Supervisor configurations, setup scripts, and virtual machine setup.
- **`requirements/`**: Lists the Python packages required for the project.## Features
- **User Profile Management**: CRUD operations for user profiles.
- **Feed API**: Additional endpoint for profile feed.## Setup & Deployment
1. **Setup VM & Django**:
- Use Vagrant for VM setup. Configure Django with `Vagrantfile` and `setup.sh`.2. **Deployment Configuration**:
- **Nginx**: `nginx_profiles_api.conf`
- **Supervisor**: `supervisor_profiles_api.conf`
- **Scripts**: `setup.sh`, `update.sh` for deployment automation.3. **Install Dependencies**:
- Install Python dependencies from `requirements`.4. **Run Migrations**:
- Apply database migrations using Django management commands.5. **Start Server**:
- Start the Django development server or configure for production using the provided deployment files.## API Endpoints
- **Profiles**:
- `GET /profiles/` - List all profiles
- `POST /profiles/` - Create a new profile
- `GET /profiles/{id}/` - Retrieve a profile by ID
- `PUT /profiles/{id}/` - Update a profile by ID
- `DELETE /profiles/{id}/` - Delete a profile by ID- **Feed API**:
- Additional endpoints for feed data related to user profiles.## Development
- **Local Development**: Use `manage.py` for local development.
- **Testing**: Unit tests located in `profiles_api/tests.py`.## Logging
- **Setup Logging**: Configured to capture detailed execution logs.
## Contributing
- **Testing**: Ensure new features are covered by tests.