https://github.com/alpha-phi-omega-ez/backend
Alpha Phi Omega, Epsilon Zeta Chapter Website Backend built with Fast API and MongoDB
https://github.com/alpha-phi-omega-ez/backend
async fastapi mongodb pydantic pymongo python
Last synced: 4 months ago
JSON representation
Alpha Phi Omega, Epsilon Zeta Chapter Website Backend built with Fast API and MongoDB
- Host: GitHub
- URL: https://github.com/alpha-phi-omega-ez/backend
- Owner: alpha-phi-omega-ez
- License: agpl-3.0
- Created: 2023-03-16T02:19:49.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-02-24T05:04:21.000Z (4 months ago)
- Last Synced: 2026-02-24T11:42:37.900Z (4 months ago)
- Topics: async, fastapi, mongodb, pydantic, pymongo, python
- Language: Python
- Homepage: https://apoez.org/api/
- Size: 27.1 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: docs/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# apoez.org
Backend service for APOEZ's website to display chapter information and run the campus lost and found system.
## Setup
Clone the repository and enter it
```
git clone https://github.com/alpha-phi-omega-ez/backend.git
cd backend
```
### Environment Variables
Create environment variable through a .env file or via the export command
```
SECRET_KEY = "" # for testing/development a random one will automatically be generated
GOOGLE_CLIENT_ID="" # for google login
GOOGLE_CLIENT_SECRET="" # for google login
TESTING="True" # set for testing true or false
SENTRY_DSN="" # for tracing and reporting on errors
```
The Config type can be changed to match the environment it is being run in, with the current options being TestingConfig and ProductionConfig.
### Requirements
Use [uv](https://docs.astral.sh/uv/getting-started/installation/) to install needed libraries
```
uv sync
```
### Run the service
The server will auto-reload on changes to make it easier to develop and test.
```
make develop
```
or
```
uv run fastapi dev --port 9000
```
# Linting and formatting
This project uses ruff for linting in pull requests via github actions, it is recommended that you run format with ruff and/or install ruff in VSCode of your code editor and setup editor formatting using ruff.
Lint
```bash
ruff check server
```
Format
```bash
ruff format server
```
## Authors
- [**Rafael Cenzano**](https://github.com/RafaelCenzano)
## License
This project is licensed under the GNU Affero Public License - see the [LICENSE](LICENSE) file for details