{"id":25334150,"url":"https://github.com/clchinkc/secureencoder","last_synced_at":"2026-03-03T21:02:54.401Z","repository":{"id":239410856,"uuid":"794113960","full_name":"clchinkc/SecureEncoder","owner":"clchinkc","description":"Personal project, Python, Flask, React, Typescript, Tailwind CSS, Docker, Test-Driven Development, Continuous Integration","archived":false,"fork":false,"pushed_at":"2025-10-27T00:13:10.000Z","size":824,"stargazers_count":1,"open_issues_count":7,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-14T17:34:45.638Z","etag":null,"topics":["continious-integration","css","css-framework","docker","docker-compose","flask","html","javascript","javascript-framework","python","react","tailwindcss","tdd","typescript","vite"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/clchinkc.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,"zenodo":null}},"created_at":"2024-04-30T13:35:24.000Z","updated_at":"2025-10-03T04:10:55.000Z","dependencies_parsed_at":"2024-05-23T06:30:10.238Z","dependency_job_id":"35bcc080-0e1b-4c5a-9349-8d2b3d3411e9","html_url":"https://github.com/clchinkc/SecureEncoder","commit_stats":null,"previous_names":["clchinkc/secureencodermain","clchinkc/secureencoder"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/clchinkc/SecureEncoder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clchinkc%2FSecureEncoder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clchinkc%2FSecureEncoder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clchinkc%2FSecureEncoder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clchinkc%2FSecureEncoder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clchinkc","download_url":"https://codeload.github.com/clchinkc/SecureEncoder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clchinkc%2FSecureEncoder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30060679,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T18:21:05.932Z","status":"ssl_error","status_checked_at":"2026-03-03T18:20:59.341Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["continious-integration","css","css-framework","docker","docker-compose","flask","html","javascript","javascript-framework","python","react","tailwindcss","tdd","typescript","vite"],"created_at":"2025-02-14T05:36:34.138Z","updated_at":"2026-03-03T21:02:54.379Z","avatar_url":"https://github.com/clchinkc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Secure Encoder\n\n![Screen Capture](screen_capture.JPG)\n\n\n## Project Statistics\n\n[![Stargazers][stars-shield]][stars-url]\n[![Forks][forks-shield]][forks-url]\n[![Follow][follow-shield]][follow-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n\n[![Issues][issues-shield]][issues-url]\n[![Pull Requests][pulls-shield]][pulls-url]\n[![Contributors][contributors-shield]][contributors-url]\n[![License][license-shield]][license-url]\n\n\n## Continuous Integration Status\n\n[![Codecov][codecov-shield]][codecov-url]\n[![Codacy][codacy-shield]][codacy-url]\n[![CodeQL][codeql-shield]][codeql-url]\n[![CI][ci-shield]][ci-url]\n\n\n## Supported Languages\n\n[![Python](https://img.shields.io/badge/python-3.9_|_3.10-3572A5)](SecureEncoderFlask\\requirements.txt)\n[![Typescript](https://img.shields.io/badge/typescript-^5.4.5-3178c6)](SecureEncoderReact\\package.json)\n\n\n## Table of Contents\n- [Secure Encoder](#secure-encoder)\n\t- [Project Statistics](#project-statistics)\n\t- [Continuous Integration Status](#continuous-integration-status)\n\t- [Supported Languages](#supported-languages)\n\t- [Table of Contents](#table-of-contents)\n\t- [Introduction](#introduction)\n\t- [Features](#features)\n\t- [Tech Stack](#tech-stack)\n\t- [Project Setup](#project-setup)\n\t\t- [Prerequisites](#prerequisites)\n\t\t- [Environment Setup](#environment-setup)\n\t\t- [Running the Application in Separate Terminals](#running-the-application-in-separate-terminals)\n\t\t\t- [Backend](#backend)\n\t\t\t- [Frontend](#frontend)\n- [React Frontend with Docker Compose](#react-frontend-with-docker-compose)\n\t- [Prerequisites](#prerequisites-1)\n\t- [Getting Started](#getting-started)\n\t\t- [Step 1: Build and Run the Container](#step-1-build-and-run-the-container)\n\t\t- [Step 2: Accessing the Application](#step-2-accessing-the-application)\n\t\t- [Stopping the Container](#stopping-the-container)\n\t- [Notes](#notes)\n\t- [Contributing](#contributing)\n\t- [License](#license)\n- [](#)\n\n\n## Introduction\n**Secure Encoder** is a sophisticated web application crafted to provide robust encoding and decryption capabilities using various cryptographic algorithms, including AES and RSA. The application supports a variety of operations such as Base64, Hex, UTF-8, Latin-1, ASCII, and URL encoding/decoding.\n\nIts primary goal is to offer a user-friendly interface for secure text manipulation, catering especially to developers and security professionals who require reliable and secure methods for data manipulation in web applications. This makes it particularly useful for those who need quick encoding and decoding solutions alongside robust encryption tools to ensure data safety.\n\nDeveloped using Python Flask and React, and leveraging SQLalchemy with Vite and Tailwind CSS for the front end, Secure Encoder exemplifies the effective use of test-driven development (TDD) practices, advanced data structures and algorithms, and expert deployment techniques.\n\n## Features\n- [x] **Dynamic Encoding/Decoding:** Support for multiple encoding schemes including Base64, Hex, and more.\n- [x] **Encryption and Decryption:** Implements AES and RSA algorithms with key management for secure data handling.\n- [x] **File Uploads:** Users can upload key files needed for encryption/decoding.\n- [x] **Interactive UI:** The React-based interactive UI ensures a smooth user experience.\n- [x] **Security:** Implements best practices like Content Security Policy headers.\n\n## Tech Stack\n\n\u003cdiv align=\"center\"\u003e\n\n| Component      | Technology Used            | Description                               |\n|----------------|----------------------------|-------------------------------------------|\n| Frontend       | React.js, TypeScript       | Interactive UI built with React           |\n| Backend        | Flask (Python)             | Server-side logic handled by Flask        |\n| CSS Framework  | Tailwind                   | Styling provided by Tailwind CSS          |\n| Database       | sqlalchemy                 | ORM for database interactions (if used)   |\n| CI/CD          | Codecov, Codacy, CodeQL                   | Continuous integration and deployment     |\n| Containerization | Docker, Docker Compose (optional)   | Container setup for development and production environments |\n\n\u003c/div\u003e\n\n## Project Setup\n\n### Prerequisites\n- [Node.js](https://nodejs.org/en/) (v14 or later)\n- [npm (Node Package Manager)](https://www.npmjs.com/)\n- [Python](https://www.python.org/downloads/) (3.8 or later)\n\n### Environment Setup\n1. Clone the repository:\n   ```bash\n   git clone git@github.com:clchinkc/SecureEncoder.git\n   ```\n\n2. Set environment variables:\n   Update the `.env` file in the SecureEncoderReact directory or the src file inside SecureEncoderFlask directory if necessary.\n\n### Running the Application in Separate Terminals\n\n#### Backend\n1. Navigate to the `SecureEncoderFlask` directory.\n   ```bash\n   cd SecureEncoderFlask\n   ```\n\n2. Set up the backend for the first time running:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. Run the Flask application:\n   ```bash\n   python run.py\n   ```\n   This will launch the backend on `http://localhost:5000`.\n\n#### Frontend\n1. Open a new terminal and navigate to the `SecureEncoderReact` directory.\n   ```bash\n   cd SecureEncoderReact\n   ```\n\n2. Set up the frontend for the first time running:\n   ```bash\n   npm install\n   ```\n\n3. Start the React application:\n   ```bash\n   npm run dev\n   ```\n   Build and start the built application:\n   ```bash\n   npm run build\n   npm run serve\n   ```\n   Or to run the production build on local static server:\n   ```bash\n   npx serve -s build\n   ```\n   \n   This will launch the web application on `http://localhost:3000` and connect it to the Flask backend.\n\n# React Frontend with Docker Compose\n\n\u003eThis project sets up a React frontend application using Docker and Docker Compose for development with hot reloading.\n\n## Prerequisites\n\n- [Docker](https://www.docker.com/products/docker-desktop)\n- [Docker Compose](https://docs.docker.com/compose/install/)\n\n## Getting Started\n\n\u003eFollow these instructions to get the React frontend application up and running in a Docker container.\n\n### Step 1: Build and Run the Container\n\nUse Docker Compose to build and start the container:\n\n```bash\ndocker-compose up --build\n```\n\n### Step 2: Accessing the Application\n\nOpen your browser and navigate to:\n\n```bash\nhttp://localhost:3000\n```\n\n### Stopping the Container\n\nOpen your browser and navigate to:\n\n```bash\ndocker-compose down\n```\n\n\n## Notes\n- Keep your cryptographic keys secure and ensure they are not exposed to unauthorized users.\n- Regularly update dependencies to mitigate vulnerabilities associated with outdated libraries.\n\n\n## Contributing\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\n## License\nDistributed under the MIT License. See `LICENSE.txt` for more information.\n\n#\n\n\n\u003c!-- links --\u003e\n[your-project-path]: clchinkc/SecureEncoder\n[stars-shield]: https://img.shields.io/github/stars/clchinkc/SecureEncoder.svg?style=flat-square\n[stars-url]: https://github.com/clchinkc/SecureEncoder/stargazers\n[forks-shield]: https://img.shields.io/github/forks/clchinkc/SecureEncoder.svg?style=flat-square\n[forks-url]: https://github.com/clchinkc/SecureEncoder/network/members\n[follow-shield]: https://img.shields.io/github/followers/clchinkc.svg?style=flat-square\n[follow-url]: https://github.com/clchinkc\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/clchinkc\n\n[issues-shield]: https://img.shields.io/github/issues/clchinkc/SecureEncoder.svg?style=flat-square\n[issues-url]: https://img.shields.io/github/issues/clchinkc/SecureEncoder.svg\n[pulls-shield]: https://img.shields.io/github/issues-pr/clchinkc/SecureEncoder\n[pulls-url]: https://img.shields.io/github/issues-pr/clchinkc/SecureEncoder\n[contributors-shield]: https://img.shields.io/github/contributors/clchinkc/SecureEncoder.svg?style=flat-square\n[contributors-url]: https://github.com/clchinkc/SecureEncoder/graphs/contributors\n[license-shield]: https://img.shields.io/github/license/clchinkc/SecureEncoder.svg?style=flat-square\n[license-url]: https://github.com/clchinkc/SecureEncoder/blob/master/LICENSE.txt\n\n[codecov-shield]: https://codecov.io/gh/clchinkc/SecureEncoder/branch/main/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/clchinkc/SecureEncoder\n[codacy-shield]: https://app.codacy.com/project/badge/Grade/9b63875ab1164fc2a2a8a774c95399aa\n[codacy-url]: https://app.codacy.com/gh/clchinkc/SecureEncoder/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade\n[codeql-shield]: https://github.com/clchinkc/SecureEncoder/actions/workflows/codeql-analysis.yml/badge.svg\n[codeql-url]: https://github.com/clchinkc/SecureEncoder/actions/workflows/codeql-analysis.yml\n[ci-shield]: https://github.com/clchinkc/SecureEncoder/actions/workflows/test-and-converage.yml/badge.svg\n[ci-url]: https://github.com/clchinkc/SecureEncoder/actions/workflows/test-and-converage.yml\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclchinkc%2Fsecureencoder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclchinkc%2Fsecureencoder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclchinkc%2Fsecureencoder/lists"}