The Campus Hub stands as the ultimate nexus, seamlessly connecting you to a diverse array of services and products within your campus community. It aspires to be the premier destination for facilitating transactions, providing a dynamic marketplace for buying and selling, while also serving as a prime platform for effective advertising.
To thoroughly document our API, we rely on OpenAPI3. You can review the YAML configuration in api.yaml. For an interactive documentation experience, please visit our Swagger interface.
Note: The Swagger interface on the stable release may occasionally lag behind in terms of the latest updates or could omit certain endpoints. For the most up-to-date information, we recommend building the Swagger documentation from the source. You can achieve this by using
docker compose
or by running the development environment of the project.
The Campus Hub is highly configurable, offering various ways to initiate the development version based on your requirements. Here are a few options:
To initialize everything with just a few commands, covering database, server, and client components, we recommend using Docker Compose.
docker compose up --build -d
This command will launch the development environment. You can access the frontend/client portal
at http://localhost:3000, and the Swagger interface
should be available at http://localhost:8080/campus_hub/v1/ui. By default, a MongoDB container will be set up, exposing persistent data in the project's root
folder.
Note: Ensure you have environment files for each container. We provide
*.env.sample
files that serve as placeholder environment configurations. To use the default configuration, remove the.sample
extension and delete all comments inside the.env
files.
- MongoDB Atlas
- If you already have a compliant database setup, you can use Atlas with minor changes in the environment files. Modify the default
server.env
and use your MongoDB Atlas configuration. Then, start the server with your database.
- If you already have a compliant database setup, you can use Atlas with minor changes in the environment files. Modify the default
To initiate the development environment for the client using npm
, follow these steps:
- Install all dependencies:
npm install
- Start the development environment:
npm run dev
Note: Execute these commands within the
client
directory.
For server development scripts, we utilize a Makefile.
- Install dependencies:
poetry install
- Start the development environment:
python3 campus_hub/app.py
Note: Execute these commands within the
server
directory. These instructions assume basic requirements are met, such as creating a virtual environment for the project.
To leverage stable releases, pull backend images from our Dockerhub repositories and run services as containers instead of building them.
Pull the backend image with the following command:
docker pull jaeaeich/campushub-server
Specify the tag based on your requirements and changelogs. Don't forget to configure environment variables for this container.
Note: Currently we are only rolling server as container.