Skip to content

nirav-email81/contact_directory_antigravity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Antigravity Contact Directory 🌌

A premium, state-of-the-art Single Page Application (SPA) designed to manage contact lists seamlessly. It features a highly aesthetic, responsive, glassmorphic dark/light UI and is backed by a high-performance Python (FastAPI) server and an SQLite database.


⚡ Key Features

  • Gorgeous Glassmorphism UI: High-end styling using a customized HSL palette with a smooth light/dark toggle.
  • Dynamic Seeding: Automatically initializes a set of default premium contacts upon initial database startup.
  • Instant Search & Filter: Real-time debounced searches and categorization (Favorites, Personal, Work) to keep contact navigation fluid.
  • Consistent Colorful Avatars: Uniquely hashes the name of each contact to generate a beautiful, unique, and permanent profile picture color.
  • Robust REST API: Powerful backend CRUD routes designed using FastAPI and Pydantic validators.

🛠️ Project Structure

contact_directory/
├── database.py       # Handles connection, table creation, and SQLite logic
├── main.py           # FastAPI server, endpoints, and static folder setup
├── requirements.txt  # Project Python dependencies
├── static/
│   ├── index.html    # Translucent visual dashboard structure
│   ├── style.css     # Premium layout variables, animations, and typography
│   └── app.js        # Responsive UI interactions, state storage, and AJAX CRUD
└── README.md         # Instructions and features summary

🚀 Running the Project Locally

1. Prerequisite

Ensure that you have Python 3.8+ installed on your system.

2. Navigate and Setup Dependencies

Activate your terminal, move to the project directory, install the required packages:

# Navigate to the workspace (if you haven't yet)
cd contact_directory

# Install dependencies (requires internet access)
pip install -r requirements.txt

3. Run the Server

Launch the FastAPI development server:

python -m uvicorn main:app --reload

Once running, open your web browser and navigate to: 👉 http://127.0.0.1:8000


🛡️ Input Validation Specifications

  • Full Name: Required field, min 1 character, max 100 characters.
  • Email: Optional. If provided, basic format checks are automatically executed on both client and server sides.
  • Phone: Optional. Max 30 characters.
  • Company: Optional. Max 100 characters.
  • Category: Can be selected from Personal 🏠, Work 💼, or Favorites ⭐.
  • Notes: Optional. Max 500 characters.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors