Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removing old client #33

Draft
wants to merge 69 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
ff58a1c
Improving the backend.
Mahmoud-Emad Mar 5, 2024
394c2fb
Updated the project strcture, changes the behavior of the docker.
Mahmoud-Emad Mar 5, 2024
3ce6c47
Updated the project strcture, changes the behavior of the docker.
Mahmoud-Emad Mar 5, 2024
426c886
Updated the project strcture, changes the behavior of the docker.
Mahmoud-Emad Mar 5, 2024
d9ac12e
Updated the project strcture, changes the behavior of the docker.
Mahmoud-Emad Mar 5, 2024
6ae966f
Removing old client
maayarosama Jul 22, 2024
0d28630
Setup client
maayarosama Jul 23, 2024
25f2b08
Merge branch 'development_1.1' into development_2.0.0
maayarosama Jul 23, 2024
65f1503
adding components and utilites and api and types
moriyad12 Jul 23, 2024
fe962ed
fix: add instance axios with header
moriyad12 Jul 28, 2024
1edb775
fix: update instance axios with header
moriyad12 Jul 28, 2024
f34b77f
fix: update instance axios with header
moriyad12 Jul 28, 2024
c893c70
Merge pull request #39 from codescalersinternships/development_3.0.0
maayarosama Jul 28, 2024
c7bb0f9
fix: Added the prod.conf file and fix docker error with copy more tha…
Mahmoud-Emad Jul 29, 2024
62ea19a
login v-card
nabilasherif Aug 5, 2024
ca1d205
background and buttons modifications
nabilasherif Aug 5, 2024
a6b95b3
sign up, signup invitation
nabilasherif Aug 6, 2024
b2058c3
put instead of post
nabilasherif Aug 6, 2024
2a415c1
update: makefile client commands
abdahmed22 Aug 8, 2024
58a2d0e
feature: readme file
abdahmed22 Aug 8, 2024
0ce410c
minor routes adjustments
nabilasherif Aug 8, 2024
de4c54e
Merge pull request #44 from codescalersinternships/development_makefile
abdahmed22 Aug 8, 2024
8e8a297
feat: Support change password endpoint:
Mahmoud-Emad Aug 11, 2024
52d1d33
Merge pull request #47 from codescalersinternships/development_1.1_ch…
Mahmoud-Emad Aug 11, 2024
983b085
features: table of contents & docker setup
abdahmed22 Aug 11, 2024
9e0bf82
feature: add logos
abdahmed22 Aug 11, 2024
22c99f2
remove lines
nabilasherif Aug 11, 2024
f367c97
added components
nabilasherif Aug 12, 2024
8d25182
update: headers and make commands
abdahmed22 Aug 13, 2024
b2b32eb
delete: client/README.md
abdahmed22 Aug 13, 2024
1f22f41
adding components
nabilasherif Aug 13, 2024
530eda1
Merge pull request #45 from codescalersinternships/development_readme
abdahmed22 Aug 13, 2024
ac9b524
adding components
nabilasherif Aug 13, 2024
afc3e31
mdi-eye, background
nabilasherif Aug 13, 2024
7bd2c29
axios
nabilasherif Aug 14, 2024
e54f131
notifier, loading and disabled prop
nabilasherif Aug 15, 2024
2a11606
fix: Fix creating new user without hashing the password.
Mahmoud-Emad Aug 15, 2024
a7288fb
Merge pull request #53 from codescalersinternships/development_1.1_ha…
zaelgohary Aug 15, 2024
14905ae
login validators and route adjustments
nabilasherif Aug 15, 2024
850db0d
login validators and route adjustments
nabilasherif Aug 15, 2024
d3de4e5
Merge branch 'development_1.1' of https://github.com/codescalersinter…
zaelgohary Aug 18, 2024
8fc3777
signup validators
nabilasherif Aug 18, 2024
bf13a55
Merge branch 'development_2.0.0' into AddAuthPages
nabilasherif Aug 18, 2024
dd2c56f
fix: Check the password len before hashing it
Mahmoud-Emad Aug 18, 2024
c965fa0
route adjustment
nabilasherif Aug 18, 2024
fe68ef7
Merge branch 'development_2.0.0' into AddAuthPages
nabilasherif Aug 18, 2024
2b84713
removing timeout
nabilasherif Aug 18, 2024
bf0cf38
save hashed password to local storage
nabilasherif Aug 22, 2024
0619e8b
save hashed password to local storage
nabilasherif Aug 22, 2024
5c893d9
remove comments
nabilasherif Aug 25, 2024
97214c1
feature: config client
nabilasherif Aug 27, 2024
6bbdb15
axios.ts url
nabilasherif Aug 27, 2024
42fefb0
feat: create Axios instance
nabilasherif Aug 28, 2024
7c8fb0a
Merge pull request #55 from codescalersinternships/development_backen…
Mahmoud-Emad Aug 28, 2024
705a3d8
rename file&var, config github id and secret
nabilasherif Aug 28, 2024
1cf18f3
Merge branch 'development_2.0.0' into AddAuthPages
nabilasherif Aug 28, 2024
e811ea3
defined interfaces for the data
nabilasherif Aug 28, 2024
614c32c
rm github and tf, update validators, refactor structure
nabilasherif Aug 29, 2024
2683dd3
axios url
nabilasherif Aug 29, 2024
a77ea5f
Rename users.ts to auth.ts
nabilasherif Aug 29, 2024
c5c9693
used datatypes instead of any
nabilasherif Aug 29, 2024
bc95e24
update file path
nabilasherif Aug 29, 2024
1d39edc
feature: notifier
abdahmed22 Aug 29, 2024
3dedd0b
fix: link notifier style sheet
abdahmed22 Aug 29, 2024
353addb
edit validators, update email type
nabilasherif Aug 29, 2024
4b090c1
Merge pull request #57 from codescalersinternships/development_notifier
Mahmoud-Emad Aug 29, 2024
e9bee62
added notifier
nabilasherif Aug 29, 2024
bb7a581
Update axios.ts
nabilasherif Aug 29, 2024
0c506eb
Merge pull request #43 from codescalersinternships/AddAuthPages
Mahmoud-Emad Aug 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions .github/workflows/django.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,12 @@ jobs:
echo DJANGO_SECRET_KEY=${{ secrets.DJANGO_SECRET_KEY }} >> .env
echo DJANGO_DEBUG=${{ secrets.DJANGO_DEBUG }} >> .env
echo EMAIL=${{ secrets.EMAIL }} >> .env
echo EPASSWORD=${{ secrets.EPASSWORD }} >> .env
echo EMAIL_PASSWORD=${{ secrets.EMAIL_PASSWORD }} >> .env
echo EMAIL_HOST=${{ secrets.EMAIL_HOST }} >> .env
echo ENV=${{ secrets.EMAIL_HOST }} >> .env
echo SERVER_DOMAIN_NAME=${{ secrets.SERVER_DOMAIN_NAME }} >> .env
echo CLIENT_DOMAIN_NAME=${{ secrets.CLIENT_DOMAIN_NAME }} >> .env

cat .env
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
Expand All @@ -33,7 +37,4 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install poetry
poetry install
- name: Run Tests
run: |
poetry run python manage.py test
cd server && poetry install
36 changes: 0 additions & 36 deletions Dockerfile

This file was deleted.

72 changes: 56 additions & 16 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,24 +1,64 @@

CMD:=poetry run
client=cd client
up:
docker-compose up --build -d
client:=cd client
server:=cd server

help:
@echo "\n- Docker: To build and run a specific service, you can do that by executing 'make docker-up service=<service_name>'."
@echo "\n- To run a the backend project, you can do that by executing 'make runserver'."
@echo "\n- To run a the backend client, you can do that by executing 'make runclient'."

docker-up:
ifeq ($(service), frontend)
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env up frontend --build -d
else ifeq ($(service), backend)
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env up backend --build -d
else ifeq ($(service), postgres)
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env up postgres --build -d
else
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env up --build -d
endif

docker-down:
ifeq ($(service), frontend)
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env down frontend
else ifeq ($(service), backend)
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env down backend
else ifeq ($(service), postgres)
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env down postgres
else
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env down
endif

docker-logs:
ifeq ($(service), frontend)
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env logs -f frontend
else ifeq ($(service), backend)
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env logs -f backend
else ifeq ($(service), postgres)
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env logs -f postgres
else
docker compose -f ./docker/docker-compose.yml --env-file=./config/.env logs -f
endif

install:
curl -sSL https://install.python-poetry.org | python3 -
poetry install
poetry check
$(server) && poetry install
$(server) && poetry check
$(client) && pnpm install
runserver:
$(CMD) python3 manage.py runserver
$(server) && $(CMD) python3 manage.py runserver
runclient:
$(client) && npm install && npm run dev
$(client) && pnpm run dev
test:
$(CMD) python3 manage.py test
$(server) && $(CMD) python3 manage.py test
lint:
$(CMD) black .
$(CMD) flake8 . --exclude=__init__.py
$(server) && $(CMD) black . --exclude=__init__.py
$(server) && $(CMD) flake8 . --exclude=__init__.py
$(client) && pnpm run lint
migrate:
$(CMD) python3 manage.py migrate
migrations:
$(CMD) python3 manage.py makemigrations
$(server) && $(CMD) python3 manage.py makemigrations
$(server) && $(CMD) python3 manage.py migrate
user:
$(CMD) python3 manage.py createsuperuser
$(CMD) python3 manage.py sqlmigrate test_tracker 0006
$(server) && $(CMD) python3 manage.py createsuperuser
data:
$(server) && $(CMD) python3 manage.py create locations users
171 changes: 146 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,146 @@
## Test-Tracker | Test Case Management Tool

<p> allowing you to manage your test plans, test cases & test runs with ease </p>

### Features

<ul>
<li>Register a new user</li>
<li>Invite an member with some permission to access the account with you #Based on his permission</li>
<li>Start project</li>
<li>Write a test plan for this project, If you don't have a plan Test-Tracker can create an plan temps for you</li>
<li>Write some requirements for the project</li>
<li>After create a project requirements you have to write some requirements inside this requirements</li>
<li>create test suites</li>
<li>Every test suite that contain a test case, so when you create a new test suite you should create a test case for this test suite</li>
<li>Run all of test cases that you have and mark whoso fail and whoso success</li>
</ul>
.


### To run instance in local machine
```sh
$ make runserver
$ make runclient
```
<p align="center">
<img src="./client/public/testtrackerlogo.png" width="250" height="200" alt="logo"/>
</p>
<p align="center">
<img src="./client/public/NavBarLogo.png" width="400" alt="logo"/>
</p>

---
<p align="center">
<img src="https://img.shields.io/badge/-TypeScript-black?style=for-the-badge&logoColor=white&logo=typescript&color=2F73BF" alt="Typescript"/>
<img src="https://img.shields.io/badge/-Vue.js-4fc08d?style=for-the-badge&logo=vuedotjs&logoColor=white" alt="Vue"/>
<img src="https://img.shields.io/badge/Django-092E20?style=for-the-badge&logo=django&logoColor=green" alt="Django"/>
<img src="https://img.shields.io/badge/postgresql-4169e1?style=for-the-badge&logo=postgresql&logoColor=white" alt="Postgresql"/>
</p>

## [Table of Contents](#table-of-contents)

1. [Introduction](#introduction)
2. [Prerequisites](#prerequisites)
3. [Setup on Your Local Machine](#setup-on-your-local-machine)
4. [Setup Using Docker](#setup-using-docker)
5. [Tests](#tests)


## [Introduction](#introduction)

TestTracker allows the Quality Assurance team to manage their test plans, requirements, test cases and test runs in a simple and efficient way. All essential tools to manage your test cases all in one place.

## [Prerequisites](#prerequisites)

Make sure you have installed all of the following prerequisites on your machine:
- **Git** - [Download & Install Git](https://git-scm.com/downloads). OSX and Linux machines typically have this already installed.
- **Node.js** - [Download & Install Node.js](https://nodejs.org/en/download/) and the pnpm package manager. If you encounter any problems, you can also use this [GitHub Gist](https://gist.github.com/isaacs/579814) to install Node.js.
- **Python3** - [Download & Install Python3](https://www.python.org/downloads/).
- **Poetry** - [Download & Install Poetry](https://python-poetry.org/docs/).
- **Docker** - [Download & Install Docker](https://docs.docker.com/engine/install/). Skip this step if you plan to use your local machine to run Test Tracker.


## [Setup on Your Local Machine](#setup-on-your-local-machine)

1. Clone the repository to a directory of your choice.
2. Create a `.env` file using the following template:

# === General ===
DJANGO_SECRET_KEY=
SERVER_DOMAIN_NAME=
SERVER_DOMAIN_NAME_API=
CLIENT_DOMAIN_NAME=
ENV=production
DJANGO_DEBUG=OFF


# === Email ===
EMAIL=
EMAIL_PASSWORD=
EMAIL_HOST=

# === Database ===
DATABASE_NAME=
DATABASE_USER=
DATABASE_PASSWORD=
DATABASE_HOST=
DATABASE_PORT=

DJANGO_SUPERUSER_EMAIL=
DJANGO_SUPERUSER_PASSWORD=

4. Run the following command to install dependencies:
```bash
make install
```

5. Run the following command to setup the server:
```bash
make migrate
```

6. Run the following command to create a super user:
```bash
make user
```

7. Run the following command to run server:
```bash
make runserver
```

8. Open a new terminal tab.
9. Run the following command to run client:
```bash
make runclient
```

10. Press Click + CTRL on the URL to open the client.
11. Enjoy Test Tracker features.

## [Setup Using Docker](#setup-using-docker)

1. Clone the repository to a directory of your choice.
2. Create a `.env` file using the following template:

```env
# === General ===
DJANGO_SECRET_KEY=
SERVER_DOMAIN_NAME=
SERVER_DOMAIN_NAME_API=
CLIENT_DOMAIN_NAME=
ENV=production
DJANGO_DEBUG=OFF

# === Email ===
EMAIL=
EMAIL_PASSWORD=
EMAIL_HOST=

# === Database ===
DATABASE_NAME=
DATABASE_USER=
DATABASE_PASSWORD=
DATABASE_HOST=
DATABASE_PORT=

DJANGO_SUPERUSER_EMAIL=
DJANGO_SUPERUSER_PASSWORD=
```


3. Run the following command to run server:
```bash
make docker-up
```

4. Enjoy Test Tracker features.

## [Tests](#tests)

1. Run the following command to run tests:
```bash
make tests
```

2. Run the following command to run e2e tests:
```bash
make e2e
```

4 changes: 4 additions & 0 deletions client/.browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
> 1%
last 2 versions
not dead
not ie 11
1 change: 0 additions & 1 deletion client/.dockerignore

This file was deleted.

5 changes: 5 additions & 0 deletions client/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[*.{js,jsx,ts,tsx,vue}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true
69 changes: 69 additions & 0 deletions client/.eslintrc-auto-import.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"globals": {
"Component": true,
"ComponentPublicInstance": true,
"ComputedRef": true,
"EffectScope": true,
"ExtractDefaultPropTypes": true,
"ExtractPropTypes": true,
"ExtractPublicPropTypes": true,
"InjectionKey": true,
"PropType": true,
"Ref": true,
"VNode": true,
"WritableComputedRef": true,
"computed": true,
"createApp": true,
"customRef": true,
"defineAsyncComponent": true,
"defineComponent": true,
"effectScope": true,
"getCurrentInstance": true,
"getCurrentScope": true,
"h": true,
"inject": true,
"isProxy": true,
"isReactive": true,
"isReadonly": true,
"isRef": true,
"markRaw": true,
"nextTick": true,
"onActivated": true,
"onBeforeMount": true,
"onBeforeUnmount": true,
"onBeforeUpdate": true,
"onDeactivated": true,
"onErrorCaptured": true,
"onMounted": true,
"onRenderTracked": true,
"onRenderTriggered": true,
"onScopeDispose": true,
"onServerPrefetch": true,
"onUnmounted": true,
"onUpdated": true,
"provide": true,
"reactive": true,
"readonly": true,
"ref": true,
"resolveComponent": true,
"shallowReactive": true,
"shallowReadonly": true,
"shallowRef": true,
"toRaw": true,
"toRef": true,
"toRefs": true,
"toValue": true,
"triggerRef": true,
"unref": true,
"useAttrs": true,
"useCssModule": true,
"useCssVars": true,
"useRoute": true,
"useRouter": true,
"useSlots": true,
"watch": true,
"watchEffect": true,
"watchPostEffect": true,
"watchSyncEffect": true
}
}
Loading
Loading