Skip to content

Alpha Apartments is a comprehensive web portal designed to streamline apartment management and communication for tenants and non-tenants (technicians). The platform features user-friendly interfaces and robust backend support to ensure a seamless experience.

License

Notifications You must be signed in to change notification settings

DataRohit/Django-Apartment-Management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5330d19 Β· Aug 17, 2024

History

22 Commits
Aug 17, 2024
Aug 17, 2024
Aug 17, 2024
Jul 7, 2024
Jul 7, 2024
Jul 7, 2024
Aug 17, 2024
Jul 7, 2024
Aug 17, 2024

Repository files navigation

🏒 Alpha Apartments

Alpha Apartments is a comprehensive web portal designed to streamline apartment management and communication for tenants and non-tenants (technicians). The platform features user-friendly interfaces and robust backend support to ensure a seamless experience.

πŸš€ Features

Authentication

  • Google OAuth login
  • User email/password registration
  • User email/password login
  • User logout
  • JWT Cookie authentication

Profiles

  • View all tenants' profiles
  • View all non-tenants' (technicians) profiles
  • Get the logged-in user's profile
  • Update user profile
  • Upload image for user avatar

Apartments

  • Add apartment
  • View all apartments for the logged-in user

Issues

  • List all issues
  • List all assigned issues
  • View all issues created by the logged-in user
  • Create a new issue for a specified apartment
  • View details of an issue
  • Update an issue
  • Delete an issue

Reports

  • Create a new report for another tenant
  • View reports created about the logged-in user
  • Note: First report serves as a warning, and if a user accumulates 5 reports, the account will be deactivated

Ratings

  • Create a rating for non-tenants (technicians)
  • Display average rating for technicians

Posts

  • List all posts
  • Get list of posts by tags
  • Get top posts (most replies and content views)
  • List popular tags (most used tags)
  • Create a new post
  • List logged-in user's posts
  • View details of a post
  • Update a post
  • Bookmark a post
  • Unbookmark a post
  • View list of bookmarked posts
  • Add a reply to a post
  • Get all replies for a post
  • Upvote a post
  • Downvote a post

πŸ› οΈ Tech Stack

Backend

  • Django: Web framework
  • Django REST Framework: API development
  • PostgreSQL: Database
  • Celery: Asynchronous task queue
  • Redis: Message broker for Celery
  • MinIO: Object storage for static and media files

Frontend

  • NextJS: Frontend Web Framework
  • Heroicons: Icon Library
  • TailwindCSS: CSS Utility Class Package
  • Redux: Statement Management
  • Zod: Data and Schema Validation
  • Axios: HTTP Request and Response Package

πŸ“¦ Deployment

Docker

The application is containerized using Docker for easy deployment and management. Below is a brief overview of the Docker setup:

  • Services:
    • server: Django backend
    • client: NextJS frontend
    • postgres: PostgreSQL database
    • minio: MinIO object storage
    • mailpit: Mail server for development
    • redis: Redis message broker
    • celeryworker: Celery worker
    • celerybeat: Celery beat scheduler
    • flower: Celery monitoring tool
    • nginx: Reverse proxy server

Volumes

  • local_postgres_data
  • local_postgres_data_backups
  • local_minio_data
  • local_mailpit_data
  • local_redis_data
  • local_logs_nginx

Networks

  • alpha_apartments_network

πŸ”§ Setup and Installation

Prerequisites

  • Docker and Docker Compose installed on your system

Installation

  1. Clone the repository:

    git clone https://github.com/DataRohit/Django-Apartment-Management.git
    cd alpha-apartments
  2. Build and start the container:

    docker-compose -f docker-compose.local.yml up --build
  3. Access the application:

    • Backend: http://localhost:8080/api/v1/
    • Frontend http://localhost:8080/
    • Swagger Redoc: http://localhost:8080/api/v1/redoc/
    • Swagger Playground: http://localhost:8080/api/v1/swagger/
    • Minio: http://localhost:9090/
    • Mailpit: http://localhost:8025/
    • Flower: http://localhost:5555/

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ“ž Contact

For any inquiries or support, please reach out to [email protected].


Made with ❀️ by Rohit Vilas Ingole

About

Alpha Apartments is a comprehensive web portal designed to streamline apartment management and communication for tenants and non-tenants (technicians). The platform features user-friendly interfaces and robust backend support to ensure a seamless experience.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published