Skip to content

Commit 478a144

Browse files
committed
Day 3: Readme Updated
1 parent 5ee50f7 commit 478a144

File tree

1 file changed

+104
-26
lines changed

1 file changed

+104
-26
lines changed

README.md

Lines changed: 104 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@ RO/
1919
├── .github/
2020
│ └── workflows/
2121
│ └── pre-commit.yml # CI for pre-commit hooks
22-
├── api/ # URLs for API-only routing
22+
├── api/ # API-only routing
2323
│ ├── __init__.py
2424
│ └── urls.py
2525
26-
├── backend/ # Django project configuration
26+
├── backend/ # Django project configuration
2727
│ ├── __init__.py
2828
│ ├── asgi.py
29-
│ ├── settings.py # Main project settings
30-
│ ├── urls.py # Root URL configuration
29+
│ ├── settings.py # Main project settings
30+
│ ├── urls.py # Root URL configuration
3131
│ └── wsgi.py
3232
33-
├── users/ # App-level folder for user module
33+
├── users/ # App-level folder
3434
│ ├── models.py
3535
│ ├── views.py
3636
│ ├── serializers.py
@@ -39,15 +39,15 @@ RO/
3939
│ └── ... (other app files)
4040
4141
├── test/
42-
│ └── test_users.py # User-related unit tests
42+
│ └── test_users.py # Tests
4343
44-
├── .env # Environment variables
44+
├── .env # Environment variables
4545
├── .gitignore
4646
├── .pre-commit-config.yaml
4747
├── .python-version
4848
├── pyproject.toml
4949
├── README.md
50-
├── requirements.txt # Project dependencies
50+
├── requirements.txt # Project dependencies
5151
├── schema.yml
5252
└── uv.lock
5353
```
@@ -66,19 +66,17 @@ This project uses **JWT Authentication** for secure and scalable user sessions.
6666
* Manage profile
6767
* View purifier products
6868
* Book installation or service
69-
7069
* **Technician**
7170

7271
* Login
7372
* View assigned service requests
7473
* Update work status
7574
* Check payment & service history
76-
7775
* **Admin**
7876

7977
* Manage all users & technicians
80-
* View and deactivate user accounts
81-
* Access all profiles and service/payment records
78+
* View and deactivate accounts
79+
* Access profiles and service/payment records
8280

8381
---
8482

@@ -102,17 +100,53 @@ This project uses **JWT Authentication** for secure and scalable user sessions.
102100

103101
* Manage all users & technicians
104102
* View all profiles
105-
* Deactivate/activate accounts
106-
* Track technician work and payments
103+
* Activate/Deactivate accounts
104+
* Track technician work & payments
107105

108106
---
109107

110108
## 🛠 Tech Stack
111109

112110
* **Backend:** Django, Django REST Framework
113111
* **Authentication:** JWT
114-
* **Database:** PostgreSQL
115-
* **Tools:** Pre-commit, GitHub Actions, uv package manager
112+
* **Database:** PostgreSQL
113+
* **Tools:** Pre-commit, GitHub Actions, **uv package manager**
114+
115+
---
116+
117+
## 🧰 Prerequisites for New Developers
118+
119+
Before setting up the project, ensure the following are installed on your system:
120+
121+
### ✔ Install Python
122+
123+
This project uses the Python version defined in `.python-version`.
124+
If you don't have it installed, use **pyenv** or download the correct version manually.
125+
126+
```
127+
# Example (using pyenv)
128+
pyenv install $(cat .python-version)
129+
pyenv local $(cat .python-version)
130+
```
131+
132+
### ✔ Install uv (Python package manager)
133+
134+
If uv is not installed, install it with:
135+
136+
```
137+
pip install uv
138+
```
139+
140+
(Or install via official instructions: [https://docs.astral.sh/uv/](https://docs.astral.sh/uv/))
141+
142+
### ✔ Install PostgreSQL
143+
144+
Download & install PostgreSQL from the official website.
145+
Create a database using the same name provided in your `.env` file:
146+
147+
```
148+
createdb RO_db
149+
```
116150

117151
---
118152

@@ -131,12 +165,18 @@ cd RO
131165
cp .env.example .env
132166
```
133167

134-
Update with your settings.
168+
Update values according to your setup.
135169

136-
### 3️⃣ Install dependencies
170+
### 3️⃣ Install dependencies using uv
137171

138172
```
139-
pip install -r requirements.txt
173+
uv sync
174+
```
175+
176+
(or install fresh)
177+
178+
```
179+
uv pip install -r requirements.txt
140180
```
141181

142182
### 4️⃣ Apply migrations
@@ -145,7 +185,7 @@ pip install -r requirements.txt
145185
python manage.py migrate
146186
```
147187

148-
### 5️⃣ Run the development server
188+
### 5️⃣ Start the development server
149189

150190
```
151191
python manage.py runserver
@@ -159,29 +199,67 @@ python manage.py runserver
159199
pytest
160200
```
161201

162-
Tests are located in `test/` directory.
202+
Tests are located inside the `test/` directory.
163203

164204
---
165205

166206
## 📄 API Documentation
167207

168208
API schema is available in `schema.yml`.
169-
You can integrate with **Swagger**, **ReDoc**, or **Postman**.
209+
You may generate API docs using **Swagger**, **ReDoc**, or import into **Postman**.
170210

171211
---
172212

173-
## 🤝 Contributing
213+
## 🧩 Sample `.env` File
214+
215+
```
216+
SECRET_KEY=django-insecure-m72oe!!4!@1o)6b1-exojf1y1-4d+j%l+gmu5xv0dzf+a5ys$s
217+
DEBUG=True
218+
219+
DB_NAME=RO_db
220+
DB_USER=postgres
221+
DB_PASSWORD=root
222+
DB_HOST=127.0.0.1
223+
DB_PORT=5432
224+
225+
EMAIL_HOST=smtp.gmail.com
226+
EMAIL_PORT=587
227+
228+
EMAIL_HOST_PASSWORD=test
229+
```
230+
231+
SECRET_KEY=django-insecure-m72oe!!4!@1o)6b1-exojf1y1-4d+j%l+gmu5xv0dzf+a5ys$s
232+
DEBUG=True
233+
234+
DB_NAME=RO_db
235+
DB_USER=postgres
236+
DB_PASSWORD=root
237+
DB_HOST=127.0.0.1
238+
DB_PORT=5432
239+
240+
RATE_LIMIT_ANON=100/hour
241+
RATE_LIMIT_USER=1000/hour
174242

175-
Pull requests are welcome! Please ensure your code follows linting rules enforced by **pre-commit hooks**.
243+
EMAIL_HOST=smtp.gmail.com
244+
EMAIL_PORT=587
245+
EMAIL_HOST_USER=[[email protected]](mailto:[email protected])
246+
EMAIL_HOST_PASSWORD=test
247+
248+
```
176249
177250
---
178251
179-
## 📜 License
252+
## 🤝 Contributing
253+
Pull requests are welcome! Make sure all code follows linting rules enforced by **pre-commit hooks**.
254+
255+
---
180256
257+
## 📜 License
181258
This project is licensed under the MIT License.
182259
183260
---
184261
185262
## 📞 Support
186-
187263
For any queries or issues, feel free to raise an issue in the repository.
264+
265+
```

0 commit comments

Comments
 (0)