Skip to content

gcivil-nyu-org/wed-fall24-team1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NYC Public Service Finder

main

Build Status Coverage Status

develop

Build Status Coverage Status

Description

A web application built with Django that helps users locate and access public services in New York City. This tool aims to simplify the process of finding essential public services for NYC residents.

Features

  • User account management
  • Public service location finder
  • Service information directory
  • Interactive map interface
  • User-friendly search functionality

Tech Stack

  • Backend Framework: Django
  • Database: Amazon DynamoDB
  • Frontend: HTML, CSS, JavaScript
  • Version Control: Git
  • CI/CD: Travis CI

Installation

Prerequisites

  • Python 3.x
  • pip
  • virtualenv (recommended)
  • AWS account with DynamoDB access
  • AWS CLI configured

Setup Instructions

  1. Clone the repository
git clone [repository-url]
cd wed-fall24-team1
  1. Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows use: venv\Scripts\activate
  1. Install dependencies
pip install -r requirements.txt
  1. Configure AWS credentials
aws configure

Enter your AWS credentials when prompted:

  • AWS Access Key ID
  • AWS Secret Access Key
  • Default region name (e.g., us-east-1)
  • Default output format (json recommended)
  1. Set up environment variables
export AWS_ACCESS_KEY_ID='your_access_key'
export AWS_SECRET_ACCESS_KEY='your_secret_key'
export AWS_DEFAULT_REGION='your_region'
  1. Run development server
python manage.py runserver

The application will be available at http://localhost:8000

Project Structure

wed-fall24-team1/
├── .github/            # GitHub configuration files
├── accounts/           # User authentication and management
├── db-prep/           # Database preparation scripts
├── home/              # Home page application
├── public_service_finder/  # Main application logic
├── services/          # Service-related functionality
├── static/            # Static files (CSS, JS, images)
├── manage.py          # Django management script
└── requirements.txt   # Project dependencies

Database Configuration

This project uses Amazon DynamoDB as its primary database. The database configuration can be found in the project settings. Make sure you have:

  1. Created the necessary DynamoDB tables:

    • Users
    • Services
    • [Other tables as needed]
  2. Set up the correct IAM permissions:

    • DynamoDB full access for development
    • Limited read/write access for production
  3. Configured the tables with appropriate partition keys and sort keys:

    # Example table structure
    {
        'TableName': 'Users',
        'KeySchema': [
            {'AttributeName': 'user_id', 'KeyType': 'HASH'},
            {'AttributeName': 'email', 'KeyType': 'RANGE'}
        ]
    }

Testing

python manage.py test

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

Team Members

  • Omer Basar: Product Owner
  • Aakash Shankar
  • Shubham Garg
  • Deepjyot Singh Kapoor
  • Kartikey Sharma

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published