Skip to content

adesinna/Zuri_Dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

proj_fetch_meta_data_Team_84

ABOUT THE PROJECT

A platform that allows authenticated users to upload files, so as to extract the metadata of the uploaded file and the metadata is displayed

Working Team Name

  • 84Meta

Team Logo

Logo

Team Members

  • See list Here1

TABLE OF CONTENTS

FEATURES

  • Require User Authentication to perform extraction of metadata
  • Allows File upload
  • Extract metadata from PDF, Images (Jpeg, Jpg, Png etc.), JSON, CSV
  • Validate file type
  • Validate file size
  • Save uploaded files for further use
  • Share to social media
  • Download metadata
  • Export Metadata

DESIGN DOCUMENTATION

DEVELOPER DOCUMENTATION

LANGUAGES

FRONTEND

  1. HTML
  2. CSS
  3. JAVASCRIPT

BACKEND

  1. PYTHON
  2. DJANGO

DATABASE

  1. SQLite offered by Django

SERVER

  1. Digital Ocean provided by Zuri

MODULES

  • PasswordResetTokenGenerator
  • account_activation_token
  • EmailMessage
  • Redirect and Render
  • FileSystemStorage

DEPENDENCIES

  • Pillow Library from PIL
  • Python Magic library
  • Six
  • Twitter share API
  • Facebook share API

FRONTEND FUNCTIONALITIES

PAGES/ TEMPLATES

  • Home page/ Landing page
  • Dashboard [Extraction space]
  • About Us Page
  • Contact us page
  • Login Page
  • Sign up Page
  • Forgot password page
  • Frequently asked questions [FAQ] page

BACKEND FUNCTIONALITIES

DJANGO

  • User Authentication using Django Authentication Systems
  • Database management for user profile and user uploads
  • File type and size validation
  • File metadata extraction
  • Communication with frontend using Django Templates

DATABASE SCHEMA

GETTING STARTED AND USAGE REQUIREMENTS

ISSUES

REPORTING AN ISSUE

1. On noticing any issues with code
    - Search through existing issues to find out if issue has been logged by another contributor
    - Please create a new issue if it doesn't already exist that's detailed for the developers to understand and fix.
    
2. Label the issue correctly for appropriate handling

FIXING AN ISSUE

1. Search for an issue you can fix
  - Note the tasks that need fixing within the issue
  
2. Fork repo and work on the issue in order to keep development area secure

3. Create pull request on finished fix and ensure it is linked to corresponding issue by attaching the appropriate keyword
  - If you are a base developer in the project or you're working on the same repository. Reference issue by keyword e.g. resolves #12, closes #13
    - If you are contributing from external repository, reference issue by repository name and issue number e.g. proj_fetch_meta_data_Team_84 closes #13

CONTRIBUTING

Project is Open Source

  • Contributions and Feedback are welcome

CONNECTING REPOSITORY AND SETTING UPSTREAM

  1. Fork the main branch of the repository

  2. Clone the forked repository to local

    git clone forked-repo-address
    
  3. Set this repo as upstream to ensure your repository is up to date

    git remote add upstream https://github.com/zuri-training/proj_fetch_meta_data_Team_84.git
    
  4. Pull changes from our repo

    git fetch upstream
    
  5. Pull changes from our repo to your remote repo

    git pull upstream main
    
  6. Stage your changes

    • For all files

      git add -A 
      
    • For specific file

      git add 'example.html'
      
  7. Write descriptive commit message

    git commit -m 'example change to example issue on example file'
    
  8. Push your changes to your remote repo

    git push
    

PULL REQUESTS

  1. Create a pull request on our main branch
  2. Give detailed description on your pull request and link to approriate issue See Fixing an Issue above
  3. Wait for our reviewers to approve pull request for merging

CHECKLIST

  • Ensure you have dependencies installed.
  • List extra dependencies in branch readMe and create requirements.txt file with dependencies which is pushed along with other files.
  • Ensure secret keys are kept secret and virtual environment is placed in git ignore files

REQUIREMENTS

KNOWLEDGE OF:

  1. HTML5
  2. CSS
  3. Javascript
  4. Django including Class based views and Function based views, Authentication, Forms
  5. Python

INSTALLATION

  1. An Integrated development environment [IDE]
  1. Git
  1. Git Desktop for collaboration Optional
  1. Python 3.10 or higher
  1. Installation of dependencies See Dependencies above
  2. Virtual Environment
****
Latest version(maintained builds) for all installation requirements as at 4/8/2022

Windows versions are for 64bit
****

README CONTRIBUTING AUTHORS

ACKNOWLEDMENTS

  • We'd like to thank the entire Zuri Team and Ingressive for Good community for this opportunity to learn and grow as developers and designers.
  • It's an honour to work with such a decicated group of mentors.
  • Special Thanks to our project mentor Tolu Folorunsho. Thanks for all you do.

REFERENCES/FOOTER

Footnotes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published