A web application that allows you to be in the loop about everything happening in your neighborhood. From contact information of different handymen to meeting announcements or even alerts.
To get a copy of the project up and running on your local machine for development and testing purposes,
- clone this repository
git clone https://github.com/KarenNgala/Watchdogs
- Set up a Python development environment that includes; Python, pip & a virtual environment
$ python3.6 -m venv --without-pip virtual $ source virtual/bin/activate (virtual) $ curl https://bootstrap.pypa.io/get-pip.py | python
- Install project dependencies
(virtual) $ pip install -r requirements.txt
- See deployment for notes on how to deploy the project on a live system.
- To get a development env running, use the .env.example file to create your own .env file.
- Create a postgres db and add the credentials to .env file
(virtual)$ psql
pc-name=# CREATE DATABASE <name>;
- Apply initial migrations
(virtual) $ python manage.py migrate
- Make migrations to your database
(virtual) $ python manage.py makemigrations application
(virtual) $ python manage.py migrate
- Create admin account
(virtual) $ python manage.py createsuperuser
- Start development server
(virtual) $ python3 manage.py runserver
Run automated tests for this system
(virtual) $ python3 manage.py test application
With all environment variables changed to suit your local copy of this repository, deploy the application to Heroku to see it live
- System admin should appoint a neighborhood admin who should be able to add information about neighborhoods for example: Add businesses, health care centers, police stations, etc. which a regular user cannot do.
- Add search functionality for businesses in a neighborhood
Models: Profile, Neighborhood, User, BusinessAllow user to change their neighborhood on moving outA user can only belong to one neighborhood at a time- Update templates
- Copy contact for emergency services like hospitals, fire departments and police stations
- Allow users to create a new post
Endpoint | Functionality | Notes |
---|---|---|
POST /auth/signup | Register a user | A Token should be provided |
POST /auth/login | Login a user | A JWT Token should be provided |
POST /api/v1/join | Join a hood | |
POST /api/v1/profile | Create posts on a hood | |
PUT /api/v1/profile | Edit a profile | |
POST /api/v1/create_hood | An Admin can create a hood | Super Admin ( Implement CRUD functionality also ) |
POST /api/v1/manage_hood | An Admin can appoint a user as a hood manager | Appointed Admin |
GET /api/v1/hoods | View hoods | |
GET /api/v1/view_hood | View hoods information |
- Django 3.1 - The web framework used
- Heroku - Deployment platform
- Python3.6 - Backend logic
- Postresql - Database system
This project is licensed under the MIT License - see the LICENSE.md file for details