|
|
| from pymongo.mongo_client import MongoClient |
| import streamlit as st |
| from streamlit_option_menu import option_menu |
| import certifi |
|
|
| ca = certifi.where() |
|
|
| st.set_page_config(page_title="Reminder App", page_icon=":bell:", layout="centered") |
|
|
|
|
| uri = st.secrets["MONGO_CONNECTION_STRING"] |
|
|
| |
| client = MongoClient(uri, tlsCAFile=ca) |
|
|
| try: |
| client.admin.command('ping') |
| print ("Pinged your deployment.you succesfully connected to MongoDB !") |
| except Exception as e: |
| print (e) |
|
|
|
|
| db = client['AllData'] |
|
|
|
|
| col = db['Users'] |
|
|
|
|
|
|
|
|
|
|
| def signupPage(): |
| st.title("signup") |
| username = st.text_input("Username", key="svusername") |
| password = st.text_input("Password", type="password", key="password") |
| a= st.number_input("Age", min_value=18, max_value=100, step=1, key="age") |
| p = st.number_input("Phone", min_value=91, max_value=9999999999, key="phone") |
| m= st.text_input("Email", key="mail") |
|
|
| |
| newdetails = { |
| "username": username, |
| "password": password, |
| "age": a, |
| "phone": p, |
| "mail": m |
| } |
| |
| |
| if st.button("Signup"): |
| if username in col.distinct("username"): |
| st.error("Username already exists") |
| else: |
| col.insert_one(newdetails) |
| st.success("Successfully registered! You may now Login with your credentials") |
|
|
| |
| def loginPage(): |
| st.title("login") |
| username = st.text_input("Username", key="lvusername") |
| email = st.text_input("Email", key="svemail") |
| password = st.text_input("Password", type="password", key="lvpassword") |
| if st.button("Login"): |
| if username in col.distinct("username"): |
| if password in col.distinct("password"): |
| st.success("Logged in as {}".format(username)) |
| st.balloons() |
| else: |
| st.error("Incorrect username or password") |
| else: |
| st.error("Incorrect username or password") |
|
|
|
|
|
|
| def main(): |
|
|
| with st.sidebar: |
| selected = option_menu(None, ["Login", "SignUp"]) |
|
|
| if selected == "Login": |
| loginPage() |
| elif selected == "SignUp": |
| signupPage() |
|
|
|
|
| if __name__ == "__main__": |
| main() |
|
|