Skip to content

The Gym Mobile Application aims to provide a comprehensive platform for gym members, coaches, and visitors, facilitating efficient management, communication, and interaction within the gym environment. The application caters to different user roles, including Admin, Coach, Member, and Visitor, each with specific responsibilities.

License

Notifications You must be signed in to change notification settings

ak4m410x01/Gym_Management_Application_API

Repository files navigation

GYM Management Application API

Details

The Gym API Application project aims to streamline gym management and user interaction. With distinct roles for Admin, Coach, Member, and Visitor, the application facilitates account management, progress tracking, and communication. Key features include authentication, profile management, dashboard views, and interactive functionalities such as ratings and complaints. The project's comprehensive scope addresses the needs of users across various gym-related tasks, fostering efficient communication and engagement. Through its user-friendly interface and tailored functionalities, the Gym Mobile Application seeks to enhance the overall gym experience for all stakeholders.

⚙ Tools and Technologies used

  1. Python: Primary programming language chosen for its simplicity, readability, and vast ecosystem of libraries and frameworks.
  2. Django: A high-level Python web framework renowned for its scalability, security features, and rapid development capabilities.
  3. Django Rest Framework (DRF): Built on top of Django, DRF provides powerful tools for building RESTful APIs, simplifying the creation of web services.
  4. PostgreSQL: A robust open-source relational database management system known for its reliability, extensibility, and support for complex queries and transactions.
  5. JWT (JSON Web Tokens): A standard for securely transmitting information between parties as JSON objects, commonly used for authentication and authorization in web applications.
  6. Docker: Containerization platform that simplifies the deployment and management of applications by packaging them into portable containers, ensuring consistency across different environments.
  7. Docker Compose: Tool for defining and running multi-container Docker applications, enabling seamless configuration and orchestration of complex application architectures.

🛠 Installation and setup

  1. Install Docker here

  2. Install Git here

  3. Create a working directory:

    mkdir ~/GYM && cd ~/GYM
  4. Clone the repository

    git clone https://github.com/ak4m410x01/Gym_Management_Application_API.git .
  5. Start the application

     docker-compose up -d
  6. Access API: http://127.0.0.1:8000/api/

  7. Access DB: 127.0.0.1:5432

  8. Don't forget .env file with variables

Variable Value
SECRET_KEY 'django-insecure-%2dmqnqj9v2e&8yk*t=#b+2-=i!45+153*@-g0*=&%1od16z^m'
DEBUG False
ALLOWED_HOSTS 172.0.0.1,*
DATABASE_ENGINE django.db.backends.postgresql
DATABASE_HOST db
DATABASE_PORT 5432
DATABASE_NAME gym
DATABASE_USER gym
DATABASE_PASSWORD gym
EMAIL_BACKEND django.core.mail.backends.smtp.EmailBackend
EMAIL_HOST smtp.gmail.com
EMAIL_PORT 587
EMAIL_HOST_USER youremail@gmail.com
EMAIL_HOST_PASSWORD yourapppassword
JWT_SECRET_KEY ak4m410x01
POSTGRES_DB gym
POSTGRES_USER gym
POSTGRES_PASSWORD gym
CELERY_BROKER_URL redis://redis:6379
CELERY_RESULT_BACKEND redis://redis:6379

note: these variables are for the lab environment only... don't use these in xxx production environments xxx


🛠 Documentation and Endpoints

  1. Postman
  2. Apidog

PIP Packages

+-------------------------------+---------+---------------------------+
| Name                          | Version | Use                       |
| ----------------------------- | ------- | ------------------------- |
| Python                        | 3.11.7  | Programming Lang          |
| Django                        | 5.0.1   | Django Framework          |
| djangorestframework           | 3.14.0  | Restful Framework         |
| djangorestframework-simplejwt | 5.3.1   | Restful Framework Jwt     |
| django-filter                 | 23.5    | Restful Framework filters |
| django-cors-headers           | 4.3.1   | Restful Framework CORS    |
| psycopg2-binary               | 2.9.9   | PostgreSQL DB lib         |
| pthon-decouple                | 3.8     | To use .env file          |
+-------------------------------+---------+---------------------------+

About

The Gym Mobile Application aims to provide a comprehensive platform for gym members, coaches, and visitors, facilitating efficient management, communication, and interaction within the gym environment. The application caters to different user roles, including Admin, Coach, Member, and Visitor, each with specific responsibilities.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages