Skip to content
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.

Commit

Permalink
Setup The Repo For Fresh Start and Improved the Functionality and Str…
Browse files Browse the repository at this point in the history
…ucture (#28)
  • Loading branch information
JeelDobariya38 authored Dec 1, 2023
2 parents bb2e2f3 + d92a55f commit 118f116
Show file tree
Hide file tree
Showing 12 changed files with 204 additions and 575 deletions.
56 changes: 56 additions & 0 deletions .github/workflows/Release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Publish Package To PyPi

on:
release:
types: [published]

jobs:
Release-Nature:
runs-on: ubuntu-latest

steps:
- name: Check release type
run: |
if [ "${{ github.event.release.prerelease }}" == "false" ]; then
echo "Stable Release."
else
echo "Prerelease Release"
fi
Tests:
runs-on: ["ubuntu-latest", "windows-latest", "macOS-latest"]

strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install poetry
poetry install --no-root
- name: Run MyPy
run: |
poetry run mypy src
- name: Run Flake8
run: |
poetry run flake8 src
- name: Run Pytest
run: |
poetry run coverage run -m pytest
- name: Coverage Report
run: |
poetry run coverage report
7 changes: 5 additions & 2 deletions .github/workflows/Run-Tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -42,4 +42,7 @@ jobs:
- name: Run Pytest
run: |
poetry run coverage run -m pytest
- name: Coverage Report
run: |
poetry run coverage report
35 changes: 33 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,43 @@ Smart Manager is a Python command-line application designed to securely store an

### Installation Guidelines

- Comming Soon
To install Smart Manager, follow these steps:

1. Visit the [Smart Manager website](https://jeeldobariya38.github.io/Smart-Manager/) or [GitHub release page](https://github.com/JeelDobariya38/Smart-Manager/releases) to download the application.

2. Once downloaded, unzip the file to extract its contents.

3. Open a command prompt or terminal.

4. Navigate to the unzipped Smart Manager folder.

5. Install the required dependencies by running:
```bash
pip install -r requirements.txt
```

### Running App

- Comming Soon
After completing the installation steps, you can run the application using one of the following methods:

#### Option 1: Double Click (Graphical Interface)

1. Navigate to the unzipped Smart Manager folder.

2. Locate the `main.py` file, usually located in the root directory.

3. Double-click on `main.py` to launch the application.

#### Option 2: Command Line

1. Navigate to the unzipped Smart Manager folder in the command prompt.

2. Run the application using the following command:
```bash
python main.py
```

These steps ensure a smooth installation process and provide options for running the application based on user preferences. If you encounter any issues during installation or have questions, feel free to check our [documentation](https://jeeldobariya38.github.io/Smart-Manager/) or troubleshooting guidelines.

Now, you're all set to explore Smart Manager and manage your passwords securely!
Expand Down
33 changes: 33 additions & 0 deletions devdocs/Deployment_Guidelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Deployment Guidelines

To deploy the Smart Manager Application, follow these step-by-step guidelines:

## Testing Application

Before deploying, thoroughly test the application both locally and through automated testing. Manual testing can also help ensure a robust deployment.

## Drafting Release

Draft a release on the GitHub repository, adhering to the guidelines outlined in [Version Guidelines](Version_Guidelines.md). This ensures consistency and clarity in versioning.

## Asset Uploading

After drafting a release, proceed to create and upload assets. Follow these guidelines:

- Assets should be named using the pattern `smart-manager.${release.tag.name}.python.zip`.
- The .zip file must include essential files such as `LICENSE` and `README`, along with other files required for the application to run.
- Ensure that the .zip file directly contains its content rather than being nested within a folder named "smart_manager."

## Checking for Errors

Before publishing the release, meticulously check for any human errors. If identified, address them promptly to avoid issues in the production environment.

## Publishing

Once all checks are completed, publish the release to make it available in a real production environment.

## Monitoring

With the release in production, monitor for any errors. This includes checking for issues in the deployment process or within the application source code itself.

These guidelines are designed to ensure a smooth and error-free deployment process. Following each step diligently contributes to a successful release and a stable production environment.
18 changes: 15 additions & 3 deletions devdocs/Version_Guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,20 @@ Beta releases contain features under development but have undergone testing by d

Stable releases are fully developed versions that provide a robust user experience. The code of stable releases has undergone comprehensive testing by developers. These versions are recommended for production-level usage and are considered safe for everyday tasks.

Before using any release for production or personal purposes, it is essential to be familiar with the project's license terms and conditions.

## Normal Releases
### Normal Releases

Releases without optional flags are considered normal releases. They offer a stability level between beta and stable releases. These versions aim to bridge the gap, providing dependable performance without the experimental nature of beta releases or the full stability of stable releases.

## Optional Extra Flags

Optional extra flags may be present in the name or description of a release, providing additional information about the release. Here are some of these flags with their meanings:

### Deprecated

A release with a `deprecated` flag must be considered a deprecated release, indicating that these releases are no longer maintained by the developer.

### No Backward Compatible

A release with this flag, and all other releases after it, must be considered as non-backward-compatible. This means that this release or future releases may not be compatible with releases lower than this.

**Before using any release for production or personal purposes, it is essential to be familiar with the project's license terms and conditions.**
18 changes: 7 additions & 11 deletions docs/download.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,13 @@ <h4>Welcome to the download page for Smart Manager. click the button below to do
<section>
<div class="other-version content">
<h1>Other Releases</h1>
<!-- <div class="release">
<h1>vX.X.X-type</h1>
<div class="info">
<div>Prerelease: <span class="prerelease"></span></div>
<div>Published At: <span class="prerelease"></span></div>
</div>
<p>
baba..baba..baba...
</p>
<a href="#"><button>Download</button></a>
</div> -->
<!--
<div class="release">
<h1>${release.name}</h1>
<div><b>Published At: <span class="published-at">${release.published_at}</span></b></div>
<div class="notes">${convertedBody}</div>
<a class="ignore" href="${pythondownloadlink}" target="_blank"><button class="downloadbtn">Download</button></a>
-->
</div>
</section>
</body>
Expand Down
42 changes: 35 additions & 7 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,46 @@ <h2>Key Features</h2>

<section>
<h2>Getting Started</h2>

<h3>System Requirements for Smart Manager</h3>
<p><b>Python</b>: Python 3.9 or above</p>

<h3>Installation Guidelines</h3>
<ul>
<li>Comming Soon</li>
</ul>

<ol>
<li>Visit the <a href="https://jeeldobariya38.github.io/Smart-Manager/">Smart Manager website</a> or <a href="https://github.com/JeelDobariya38/Smart-Manager/releases">GitHub release page</a> to download the application.</li>
<li>Once downloaded, unzip the file to extract its contents.</li>
<li>Open a command prompt or terminal.</li>
<li>Navigate to the unzipped Smart Manager folder.</li>
<li>Install the required dependencies by running:
<pre class="lang-bash"><code>pip install -r requirements.txt</code></pre>
</li>
</ol>

<h3>Running App</h3>
<ul>
<li>Comming Soon</li>
</ul>
<p>After completing the installation steps, you can run the application using one of the following methods:</p>

<ol>
<li><strong>Option 1: Double Click (Graphical Interface)</strong>
<ul>
<li>Navigate to the unzipped Smart Manager folder.</li>
<li>Locate the <code>main.py</code> file, usually located in the root directory.</li>
<li>Double-click on <code>main.py</code> to launch the application.</li>
</ul>
</li>

<li><strong>Option 2: Command Line</strong>
<ul>
<li>Navigate to the unzipped Smart Manager folder in the command prompt.</li>
<li>Run the application using the following command:
<pre class="lang-bash"><code>python main.py</code></pre>
</li>
</ul>
</li>
</ol>

<p>These steps ensure a smooth installation process and provide options for running the application based on user preferences. If you encounter any issues during installation or have questions, feel free to check our <a href="https://jeeldobariya38.github.io/Smart-Manager/">documentation</a> or troubleshooting guidelines.</p>

<p>Now, you're all set to explore Smart Manager and manage your passwords securely! If you need further assistance, don't hesitate to reach out.</p>
</section>

<section>
Expand Down
14 changes: 10 additions & 4 deletions docs/scripts/otherversion.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,18 @@ document.addEventListener("DOMContentLoaded", function () {
}
var releaseElement = document.createElement('div');
releaseElement.classList.add('release');

if (release.prerelease) {
releaseElement.classList.add('pre-release');
}

if (release.name.includes("Deprecated")) {
releaseElement.classList.add('deprecated-release');
}

releaseElement.innerHTML = `
<h1>${release.name}</h1>
<div class="info">
<div><b>Prerelease: <span class="prerelease">${release.prerelease}</span></b></div>
<div><b>Published At: <span class="published-at">${release.published_at}</span></b></div>
</div>
<div><b>Published At: <span class="published-at">${release.published_at}</span></b></div>
<div class="notes">${convertedBody}</div>
<a class="ignore" href="${pythondownloadlink}" target="_blank"><button class="downloadbtn">Download</button></a>
`;
Expand Down
17 changes: 8 additions & 9 deletions docs/stylesheets/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -50,21 +50,20 @@ section {
margin: 10px 0px;
}

.release .info {
display: flex;
flex-wrap: wrap;
}

.release .info div {
margin: 5px;
}

.release a {
color: rgb(36, 118, 185);
margin: 0px;
text-decoration: dashed;
}

.pre-release {
color: orange;
}

.deprecated-release {
color: orangered;
}

.downloadbtn {
background-color: rgb(36, 118, 185);
border-radius: 12px;
Expand Down
Loading

0 comments on commit 118f116

Please sign in to comment.