AstroLog is a simple celestial object observation logger. Version 1.0.0 supports Celestial Objects with NGC (New General Catalogue) Designations.
Your installed versions may be compatible, however AstroLog was built on these versions.
- Python 3.14
- Node 22.11.0
- PostgreSQL 18
Create virtual environment in the /backend directory:
python -m venv .venv
Activate on MacOS/Unix:
source .venv/bin/activate
Activate on Windows:
.venv\Scripts\activate
- Navigate to
/backend - Ensure the virtual environment is activated
- Run
pip install -r requirements.txt - Create a
.envfile in/backend - On your PostreSQL server, create a database to store the application data
- In the
/backend/.envfile, add adb_urlvariable and set it equal to your database connection string
- Navigate to
/frontend - Run
npm install - Create a
.envfile in/frontend - In the
/frontend/.envfile, add anapi_urlvariable and set it equal tohttp://localhost:8000. Adjust as needed to match the domain & port you are running the backend api under.
From the root of the project, run:
cd backend
fastapi dev main.pyFastAPI will check for and create the database tables if needed.
In PostgreSQL run the INSERT statement from the /seedFiles/celestial_object_seed.sql file to add an initial set of Celestial Objects to the database.
Optionally, run the INSERT statement from the /seedFiles/observation_seed.sql file to add example observation records.
Note!
If your celestial_object table ID does not start incrementing at 1, then you will need to adjust the celestial_obj_id values in the observation_seed.sql query so they match seeded Celestial Object IDs.
From the root of the project, run:
cd backend
fastapi dev main.pyTip!
Once the backend is running you can view the auto generated docs at: http://localhost:8000/docs
If you prefer to use Bruno or Postman, you can import the collection from: http://localhost:8000/openapi.json
From the root of the project, run:
cd frontend
npm run dev🎉 Access the app at http://localhost:3000