{"id":17018316,"url":"https://github.com/devprojectekla/weezbank","last_synced_at":"2026-04-16T07:34:57.037Z","repository":{"id":251343728,"uuid":"837137544","full_name":"DevprojectEkla/WeezBank","owner":"DevprojectEkla","description":"This project is a basic Django application that simulates the creation and management of bank accounts. It is designed to showcase my use of Django for building web applications.","archived":false,"fork":false,"pushed_at":"2024-08-02T15:17:54.000Z","size":326,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T16:11:42.870Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/DevprojectEkla.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-08-02T09:42:29.000Z","updated_at":"2024-08-02T15:17:57.000Z","dependencies_parsed_at":"2024-08-02T11:16:32.642Z","dependency_job_id":"197f0372-6f81-41c9-a40d-a635253477e7","html_url":"https://github.com/DevprojectEkla/WeezBank","commit_stats":null,"previous_names":["devprojectekla/weezbank"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DevprojectEkla/WeezBank","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevprojectEkla%2FWeezBank","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevprojectEkla%2FWeezBank/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevprojectEkla%2FWeezBank/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevprojectEkla%2FWeezBank/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevprojectEkla","download_url":"https://codeload.github.com/DevprojectEkla/WeezBank/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevprojectEkla%2FWeezBank/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31876670,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"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":[],"created_at":"2024-10-14T06:45:31.186Z","updated_at":"2026-04-16T07:34:57.019Z","avatar_url":"https://github.com/DevprojectEkla.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bank Account Management Application\n\nThis project is a basic Django application that simulates the creation and management of bank accounts. It is designed to showcase my use of Django for building web applications and the Django REST framework to build RESTful APIs.\n\n## Features\n\n- **User Registration**: Users can sign up and create an account using a registration form. This account is required to manage bank accounts.\n- **Account Creation**: Authenticated users can create bank accounts with basic information such as account holder name, account type, and initial balance.\n- **Account Management**: Users can view details of existing accounts, update account information, and manage account balances.\n- **Transaction History**: Basic functionality to track deposits, withdrawals, and transfers between accounts.\n- **User Authentication**: Users can log in and log out using Django's built-in authentication system.\n- **RESTful API**: Provides endpoints for interacting with bank accounts, users, and customers via a RESTful API using Django REST Framework.\n\n## Preview\n\n![Preview App](static/img/sample.png)\n\n## API Endpoints\n\nThe API provides the following endpoints:\n\n![Preview API](static/img/api.png)\n\n### 1. **Accounts**\n\n- **List Accounts**  \n  `GET /api/accounts/`  \n  Retrieves a list of all bank accounts.\n\n- **Retrieve Account**  \n  `GET /api/accounts/{id}/`  \n  Retrieves details for a specific bank account by ID.\n\n- **Create Account** - Django REST Framework 3.14.0\n  `POST /api/accounts/`  \n  Creates a new bank account.\n\n- **Update Account**  \n  `PUT /api/accounts/{id}/`  \n  Updates an existing bank account by ID.\n\n- **Delete Account**  \n  `DELETE /api/accounts/{id}/`  \n  Deletes a specific bank account by ID.\n\n### 2. **Users**\n\n- **List Users**  \n  `GET /api/users/`  \n  Retrieves a list of all users.\n\n- **Retrieve User**  \n  `GET /api/users/{id}/`  \n  Retrieves details for a specific user by ID.\n\n- **Create User**  \n  `POST /api/users/`  \n  Creates a new user.\n\n- **Update User**  \n  `PUT /api/users/{id}/`  \n  Updates an existing user by ID.\n\n- **Delete User**  \n  `DELETE /api/users/{id}/`  \n  Deletes a specific user by ID.\n\n### 3. **Customers**\n\n- **List Customers**  \n  `GET /api/customers/`  \n  Retrieves a list of all customers.\n\n- **Retrieve Customer**  \n  `GET /api/customers/{id}/`  \n  Retrieves details for a specific customer by ID.\n\n- **Create Customer**  \n  `POST /api/customers/`  \n  Creates a new customer.\n\n- **Update Customer**  \n  `PUT /api/customers/{id}/`  \n  Updates an existing customer by ID.\n\n- **Delete Customer**  \n  `DELETE /api/customers/{id}/`  \n  Deletes a specific customer by ID.\n\n## Purpose\n\nThe main purpose of this application is to demonstrate my ability to use Django for web development. This project highlights my skills in:\n\n- Setting up Django projects and applications.\n- Creating models to represent business logic.\n- Developing views and templates for user interaction.\n- Implementing basic CRUD (Create, Read, Update, Delete) functionality.\n- Using Django forms for data input and validation.\n- Integrating Django's authentication system for user management.\n\n## Requirements\n\n- Python 3.12\n- Django 5.0\n- Django REST Framework 3.14.0\n- SQLite (or any other supported database)\n- Virtualenv (recommended for creating isolated environments)\n\n## Setup Instructions\n\n1. **Clone the repository**:\n\n   ```bash\n   git clone https://github.com/DevProjectEkla/django_bank_project.git\n   cd django_bank_project\n   ```\n\n2. **Create and activate a virtual environment**:\n\n   ```bash\n   python -m venv env\n   source env/bin/activate  # On Windows use `env\\Scripts\\activate`\n   ```\n\n3. **Install the dependencies**:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. **Apply the migrations**:\n\n   ```bash\n   python manage.py makemigrations\n   python manage.py migrate\n   ```\n\n5. **Create a superuser** (to access the admin panel):\n\n   ```bash\n   python manage.py createsuperuser\n   ```\n\n6. **Run the development server**:\n\n   ```bash\n   python manage.py runserver\n   ```\n\n7. **Access the application**:\n\n   - Visit `http://localhost:8000` in your browser to use the application.\n   - Visit `http://localhost:8000/admin` to access the Django admin panel with the superuser account.\n\n## Authentication System\n\nThis application uses Django's built-in authentication system to handle user registration, login, and logout. Here are the main features:\n\n- **Signup**: Users can create a new account via the signup page at `/signup/`. A user account is required to create and manage bank accounts.\n- **Login**: Users can log in via the login page at `/login/`.\n- **Logout**: Users can log out via the logout page at `/logout/`.\n- **Protected Views**: Certain views require the user to be authenticated. These views use the `@login_required` decorator to restrict access.\n\n## Project Structure\n\n- **bank_project**: Contains the auto-generated Django config for this project.\n- **bank_account**: Contains the models, views, forms, and templates for managing user and bank accounts.\n- **templates**: Contains HTML templates for rendering the user interface, including authentication templates.\n- **static**: Stores static files like CSS, JavaScript, and images.\n\n## Future Enhancements\n\n- Developing a React client to interact with the API.\n- Integrate more detailed transaction tracking and reporting features.\n- Implement unit tests to ensure application reliability and correctness.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](https://github.com/DevprojectEkla/WeezBank/blob/main/LICENSE) file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevprojectekla%2Fweezbank","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevprojectekla%2Fweezbank","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevprojectekla%2Fweezbank/lists"}