diff --git a/microservices/bikes_service/bikes.py b/microservices/bikes_service/bikes.py
index 80520b5d691db6bcc2e2a00e8bb7c998aed5931d..5b09376eff2362bc233bd990046c6f04d2ff031e 100644
--- a/microservices/bikes_service/bikes.py
+++ b/microservices/bikes_service/bikes.py
@@ -34,6 +34,7 @@ class Bike(BaseModel):
     price_per_hour: float
     last_maintenance_date: str
     maintenance_history: str
+    
 
 
 # Routes
diff --git a/microservices/users_service/bikes.db b/microservices/users_service/bikes.db
new file mode 100644
index 0000000000000000000000000000000000000000..84b1acb9efcb41e46f039ef3d17b61e2da479c4e
Binary files /dev/null and b/microservices/users_service/bikes.db differ
diff --git a/microservices/users_service/main.py b/microservices/users_service/main.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f95802ca91c65d956255e5094e462061f8905d8b 100644
--- a/microservices/users_service/main.py
+++ b/microservices/users_service/main.py
@@ -0,0 +1,147 @@
+from fastapi import FastAPI, HTTPException
+from pydantic import BaseModel
+from typing import List
+import sqlite3
+from typing import Optional
+
+app = FastAPI()
+
+# SQLite connection
+conn = sqlite3.connect('bikes.db')
+cursor = conn.cursor()
+
+# Create the Users table if it doesn't exist
+cursor.execute('''
+    CREATE TABLE IF NOT EXISTS Users (
+        user_id INTEGER PRIMARY KEY,
+        username TEXT,
+        password TEXT,
+        email TEXT,
+        phone_number TEXT,
+        credit_card_info TEXT,
+        registration_date DATETIME,
+        last_login DATETIME
+    )
+''')
+conn.commit()
+
+
+# User model
+class User(BaseModel):
+    username: str
+    password: str
+    email: str
+    phone_number: str
+    credit_card_info: Optional[str]
+    registration_date: str
+    last_login: Optional[str]
+
+
+class UserResponse(BaseModel):
+    user_id: int
+    username: str
+    email: str
+    phone_number: str
+    registration_date: str
+
+
+# Modify the read_users() function to return a list of UserResponse objects
+@app.get("/users/", response_model=List[UserResponse])
+async def read_users():
+    cursor.execute('SELECT user_id, username, email, phone_number, registration_date FROM Users')
+    print("got record")
+    users = cursor.fetchall()
+    user_objects = []
+    for user in users:
+        user_obj = UserResponse(
+            user_id=user[0],
+            username=user[1],
+            email=user[2],
+            phone_number=user[3],
+            registration_date=user[4]
+        )
+        user_objects.append(user_obj)
+    return user_objects
+
+# Routes
+@app.post("/users/", response_model=User)
+async def create_user(user: User):
+    print('hit')
+    cursor.execute('''
+        INSERT INTO Users 
+        (username, password, email, phone_number, credit_card_info, registration_date, last_login) 
+        VALUES (?, ?, Optional[str]?, ?, ?, ?, ?)
+    ''', (
+        user.username, user.password, user.email, user.phone_number,
+        user.credit_card_info, user.registration_date, user.last_login
+    ))
+    conn.commit()
+    return user
+
+
+# @app.get("/users/", response_model=List[User])
+# async def read_users():
+#     cursor.execute('SELECT * FROM Users')
+#     print("got record")
+#     users = cursor.fetchall()
+#     return users
+
+# @app.get("/users/", response_model=List[User])
+# async def read_users():
+#     cursor.execute('SELECT * FROM Users')
+#     print("got record")
+#     users = cursor.fetchall()
+#     # Convert each row into a dictionary
+#     user_dicts = []
+#     for user in users:
+#         # user_dict = {
+#         #     "user_id": user[0],
+#         #     "username": user[1],
+#         #     # "password": user[2],
+#         #     "email": user[3],
+#         #     "phone_number": user[4],
+#         #     # "credit_card_info": user[5],
+#         #     "registration_date": user[6],
+#         #     # "last_login": user[7]
+#         # }
+#         user_dict = {
+#             "user_id": user[0],
+#             "username": user[1],
+#             "email": user[2],
+#             "phone_number": user[3],
+#             "registration_date": user[4],
+#             # "last_login": user[7]
+#         }
+#         user_dicts.append(user_dict)
+#     return user_dicts
+
+
+@app.get("/users/{user_id}", response_model=User)
+async def read_user(user_id: int):
+    cursor.execute('SELECT * FROM Users WHERE user_id = ?', (user_id,))
+    user = cursor.fetchone()
+    if user is None:
+        raise HTTPException(status_code=404, detail="User not found")
+    return user
+
+
+@app.put("/users/{user_id}", response_model=User)
+async def update_user(user_id: int, user: User):
+    cursor.execute('''
+        UPDATE Users 
+        SET username = ?, password = ?, email = ?, phone_number = ?, 
+        credit_card_info = ?, registration_date = ?, last_login = ?
+        WHERE user_id = ?
+    ''', (
+        user.username, user.password, user.email, user.phone_number,
+        user.credit_card_info, user.registration_date, user.last_login, user_id
+    ))
+    conn.commit()
+    return user
+
+
+@app.delete("/users/{user_id}")
+async def delete_user(user_id: int):
+    cursor.execute('DELETE FROM Users WHERE user_id = ?', (user_id,))
+    conn.commit()
+    return {"message": "User deleted successfully"}
diff --git a/text_cmd b/text_cmd
new file mode 100644
index 0000000000000000000000000000000000000000..76ea2dfabb42ced29be00701422d3be1adb8f576
--- /dev/null
+++ b/text_cmd
@@ -0,0 +1 @@
+uvicorn main:app --reload
\ No newline at end of file