{"repo":"Blue9/jimo-server","free":true,"listed":false,"github":"https://github.com/Blue9/jimo-server","clone":"git clone https://github.com/Blue9/jimo-server.git","description":"Jimo server code","language":"Python","stars":51,"topics":["asyncio","fastapi","firebase","geospatial","ios","postgis","postgres","postgresql","pydantic","python"],"license":null,"category":"databases-storage","readme_excerpt":"Jimo server This is the server for the Jimo iOS app. Overview This is a FastAPI server that uses Firebase for authentication and Postgres as a database. We use the PostGIS extension for geospatial functionality, such as map queries. Backend setup 1. Install Postgres and PostGIS and create a new local database. 2. Take note of the database URL. It’ll be something like \"postgresql://user@localhost/database name\". 3. Go to the Firebase console, click Generate new private key and Generate key . If you don't have access to the production project, create a new one. 4. Save the JSON file somewhere and optionally rename it. I’ve named mine service-account-file.json , and this is already in .gitignore (double check you don’t commit this file). 5. Set the environment variables. Set the DATABASE URL environment variable to the database URL. We use an async db connection so you need to change postgresql:// to postgresql+asyncpg:// . Set GOOGLE APPLICATION CREDENTIALS to the path to the service account file. Running the server 1. (Optional) Create a virtual environment using pyenv, venv, or a similar tool, and activate it. 2. Install Poetry here. 2. Run poetry install . - If you created a virtual environment, the dependencies will be installed to it; otherwise, poetry will create one for you. 3. Set the environment variables: Variable Value ---------------------------------- --- DATABASE URL Full database url (w/ credentials). GOOGLE APPLICATION CREDENTIALS Path to the service account JSO","default_branch":null,"files":null,"tree":[],"storefront":"/r/Blue9","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Blue9/jimo-server/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}