Thanks to visit codestin.com
Credit goes to github.com

Skip to content

βš™οΈ A plug-and-play project template with boilerplate docs, versioning, and contribution standards. Kick off your next BitGeek Software project with consistency, clarity, and a whole lotta love. β€œMade with love by BitGeek Software.” πŸ’™πŸ’»

License

Notifications You must be signed in to change notification settings

ronavis/bitgeek-project-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’€ Note: This project was an early experiment that evolved into something much bigger β€” Mid Conversation.
BitGeek was a spark β€” Mid Conversation is the flame. Follow along and see how far we go.

πŸš€ BitGeek Software Development Standards

Version License: MIT

Welcome to BitGeek Software's development standards and project bootstrapping repository! This resource contains everything you need to understand our development practices and get started with a new project.

πŸ”— Quick Links

πŸ’‘ Development Philosophy

At BitGeek Software, we prioritize:

  • ✨ Code Quality: Maintainable, well-tested, and readable code
  • πŸ“š Documentation: Thorough documentation for all systems and processes
  • πŸ”„ Consistency: Common patterns and practices across all projects
  • πŸ”’ Security: Proactive security measures at every development stage
  • πŸ‘₯ Collaboration: Clear communication and knowledge sharing

πŸ“‚ Project Structure

Every BitGeek Software project follows a standardized directory structure:

project/
β”œβ”€β”€ app/                         # Main application code
β”œβ”€β”€ docs/                        # Documentation
β”‚   β”œβ”€β”€ boilerplate/             # Documentation templates
β”‚   └── ...
β”œβ”€β”€ scripts/                     # Application scripts
β”œβ”€β”€ testing/                     # Test files and results
β”œβ”€β”€ .env                         # Environment variables
β”œβ”€β”€ LICENSE                      # License file
β”œβ”€β”€ README.md                    # Main README
β”œβ”€β”€ requirements.txt             # Dependencies
β”œβ”€β”€ VERSION                      # Version file
└── CHANGELOG.md                 # Change log

For detailed directory structure guidelines, see our πŸ“ Directory Structure Template.

🏁 Getting Started

πŸ“‹ Prerequisites

  • Python 3.7+
  • Git
  • Virtual environment tool (venv, pipenv, or conda)

πŸ”§ Project Setup

  1. Clone this repository as a template:
git clone https://github.com/ronavis/bitgeek-standards.git my-new-project
cd my-new-project
  1. Set up a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Initialize the project structure:
python scripts/init_project.py --name "My Project Name"
  1. Update the README.md and other documentation files with your project specifics.

πŸ“š Documentation Standards

All BitGeek Software projects maintain comprehensive documentation:

  • README.md: Project overview, quick start, and essential information
  • API_ENDPOINTS.md: API documentation when applicable
  • CONTRIBUTING.md: Contribution guidelines
  • CHANGELOG.md: Record of all notable changes
  • Directory READMEs: Purpose explanation for each major directory

Documentation should be written in Markdown and follow our templates in the docs/boilerplate/ directory.

πŸ”’ Versioning Policy

We follow Semantic Versioning:

  • MAJOR version (x.0.0): Incompatible API changes
  • MINOR version (0.x.0): Backwards-compatible new functionality
  • PATCH version (0.0.x): Backwards-compatible bug fixes

All version changes must update:

  • VERSION file
  • Version badge in README.md
  • CHANGELOG.md

After version updates are merged to main, we create and push a Git tag:

git tag -a vX.Y.Z -m "Version X.Y.Z release"
git push origin vX.Y.Z

🎫 Issue & Ticketing System

  • All issues/tickets use our standard template
  • Ticket IDs follow the pattern: PROJECT-XXX (e.g., AV-175)
  • Ad-hoc scripts must reference ticket numbers (e.g., AV-175_improved_verification_guide.py)
  • Tickets should contain comprehensive information including implementation details and validation criteria

πŸ’» Code Style

  • Python: Follow PEP 8 guidelines
  • Variable names: Use descriptive names in the appropriate style for the language
  • Comments: Add comments for complex logic
  • Docstrings: Include for all functions and classes
  • Dependencies: Always specify versions in requirements files

πŸ—ƒοΈ Database Changes

For schema changes:

  • Create a backup of affected tables
  • Use ALTER TABLE statements or migrations
  • Only drop specific tables if absolutely necessary
  • Restore data after schema changes

Example approach:

-- Backup users table
CREATE TABLE users_backup AS SELECT * FROM users;
-- Add new column
ALTER TABLE users ADD COLUMN totp_secret VARCHAR(32) UNIQUE;
-- Restore data if needed
INSERT INTO users SELECT * FROM users_backup;

πŸ”’ Security Guidelines

  • Never commit sensitive information (keys, credentials, etc.)
  • Use environment variables for configuration
  • Implement proper authentication and authorization
  • Validate all user inputs
  • Follow the principle of least privilege
  • Regularly update dependencies to patch security vulnerabilities

πŸ§ͺ Testing Standards

  • Maintain unit tests for core functionality
  • Include integration tests for critical systems
  • Automate testing through CI/CD pipelines
  • Verify security aspects through dedicated security tests
  • Document test requirements for new features

πŸ“Œ Additional Resources

πŸ“„ License

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


Made with ❀️ by BitGeek Software

About

βš™οΈ A plug-and-play project template with boilerplate docs, versioning, and contribution standards. Kick off your next BitGeek Software project with consistency, clarity, and a whole lotta love. β€œMade with love by BitGeek Software.” πŸ’™πŸ’»

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published