The AR Platform Master project is a Python-based application designed to run a server using Flask. It integrates Firebase for backend functionality and provides a database schema to manage application data.
The project is organized as follows:
ar_server/: Contains the core application code for the Flask server.images/: Stores images used in the project.old/: Potentially contains legacy or backup files.server_conf/: Configuration files for the server.setup.py: Script for packaging and installing the application.Makefile: Includes various commands for managing the project lifecycle.MANIFEST.in: Specifies additional files to include in the package.
Follow these steps to set up and run the project:
-
Clone the Repository:
git clone <repository_url> cd ar_platform-master
-
Set Up Virtual Environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Dependencies:
pip install -e . -
Initialize the Database:
export FLASK_APP=ar_server export FLASK_ENV=development flask init-db
-
Run the Application:
flask run
To set up and access the web application, follow these additional steps:
-
Configure the Server:
- Modify the configuration files located in
server_conf/as needed for your environment. - Ensure the Firebase credentials file is placed in a secure directory and referenced correctly in the application.
- Modify the configuration files located in
-
Access the Web Interface:
- Once the server is running, open a web browser and navigate to:
https://localhost:5000
- Once the server is running, open a web browser and navigate to:
-
Test the Application:
- Use the provided endpoints or the graphical interface to verify that the application functions as expected.
-
Deployment:
- For production deployment, configure a production-ready server (e.g., Gunicorn or uWSGI) and set up HTTPS with a valid SSL certificate.
- Update environment variables and configurations as required for production.
-
To start the server in debug mode with HTTPS:
make run
-
To initialize the database:
make init
-
To explore the database directly:
make explore_db
The following are included in the project package:
- SQL schema:
ar_server/schema.sql - Static files:
ar_server/static/ - Templates:
ar_server/templates/
The project requires the following Python packages:
flaskfirebase-adminjsonschema
To contribute to this project:
- Fork the repository.
- Create a feature branch.
- Commit your changes.
- Submit a pull request.
This project is licensed under the CC-BY-SA License. See the LICENSE file for more details.