-
Notifications
You must be signed in to change notification settings - Fork 1
docs(readme): enhance project description and visual elements #145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,98 +1,157 @@ | ||
| # DevBits | ||
| <p align="center"> | ||
| <img src="frontend/public/Devbits_Icons.png" alt="DevBits Logo" width="120" /> | ||
| </p> | ||
|
|
||
| A place for developers to share their projects. | ||
| <h1 align="center">DevBits</h1> | ||
|
|
||
| Goal: Create an X and LinkedIn crossover for posting real content about your projects, semi-formally | ||
| <p align="center"> | ||
| Social infrastructure for builders shipping in public. | ||
| </p> | ||
|
|
||
| ### Outline | ||
| <p align="center"> | ||
| <img alt="Go" src="https://img.shields.io/badge/Go-1.24-00ADD8?style=for-the-badge&logo=go&logoColor=white" /> | ||
| <img alt="Gin" src="https://img.shields.io/badge/Gin-API-009688?style=for-the-badge&logo=gin&logoColor=white" /> | ||
| <img alt="React Native" src="https://img.shields.io/badge/React_Native-0.81-20232A?style=for-the-badge&logo=react&logoColor=61DAFB" /> | ||
| <img alt="Expo" src="https://img.shields.io/badge/Expo-SDK_54-000020?style=for-the-badge&logo=expo&logoColor=white" /> | ||
| <img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-5.3-3178C6?style=for-the-badge&logo=typescript&logoColor=white" /> | ||
| <img alt="PostgreSQL" src="https://img.shields.io/badge/PostgreSQL-Data-4169E1?style=for-the-badge&logo=postgresql&logoColor=white" /> | ||
| <img alt="AWS" src="https://img.shields.io/badge/AWS-Deployed-FF9900?style=for-the-badge&logo=amazonaws&logoColor=white" /> | ||
| </p> | ||
|
|
||
| Projects are the baseline of the app, you must have a project to post. | ||
| --- | ||
|
|
||
| Anyone can comment, like, follow, despite their project count. | ||
| <p align="center"> | ||
| <img src="frontend/public/Cards.webp" alt="DevBits App Preview" width="100%" /> | ||
| </p> | ||
|
|
||
| Some quirky names for things (frontend only) | ||
| ## Product Identity | ||
|
|
||
| - Projects are called 'Stream's | ||
| - Posts about projects are called 'Byte's | ||
| - Comments are called 'Bit's | ||
| DevBits is where developers document real progress, not vanity metrics. | ||
|
|
||
| ### Tech Stack | ||
| - `Streams` are projects. | ||
| - `Bytes` are project updates. | ||
| - `Bits` are comments and conversations. | ||
|
|
||
| - Backend/API in Go using Gin framework | ||
| - Frontend: ReactNative (iOS and Android) | ||
| - Database: PostgreSQL | ||
| - Host: AWS ec2 for backend, AWS RDS for PostgreSQL | ||
| Anyone can react, follow, comment, and join the conversation. | ||
|
|
||
| ## Local Development | ||
| > [!IMPORTANT] | ||
| > DevBits is designed for technical storytelling: milestones, blockers, experiments, demos, and lessons learned. | ||
|
|
||
| ### Quick Start | ||
| ## Visual Gallery | ||
|
|
||
| Start only the frontend (choose production or local backend at launch): | ||
| | Home Feed | Discovery | | ||
| | --- | --- | | ||
| | <img src="frontend/public/IMG_2651.webp" alt="Home Feed" width="100%" /> | <img src="frontend/public/IMG_2652.webp" alt="Explore Feed" width="100%" /> | | ||
|
|
||
| ```bash | ||
| ./run-front.sh | ||
| ``` | ||
| | Streams | Messaging | | ||
| | --- | --- | | ||
| | <img src="frontend/public/IMG_2653.webp" alt="Streams Screen" width="100%" /> | <img src="frontend/public/IMG_2654.webp" alt="Messages Screen" width="100%" /> | | ||
|
|
||
| Start local backend stack only (dev PostgreSQL + backend): | ||
| | Profile | Product Motion | | ||
| | --- | --- | | ||
| | <img src="frontend/public/IMG_2655.webp" alt="Profile Screen" width="100%" /> | <img src="frontend/public/IMG_2660.webp" alt="DevBits UI Motion" width="100%" /> | | ||
|
|
||
| ```bash | ||
| ./run-dev.sh | ||
| ``` | ||
| ## Experience Cards | ||
|
|
||
| Then start frontend and choose local or live backend: | ||
| | Card | What It Delivers | | ||
| | --- | --- | | ||
| | `Build Logs` | Structured public progress for each project stream, from first prototype to launch day. | | ||
| | `Discovery Engine` | Explore recent streams, bytes, people, and tags in one place. | | ||
| | `Builder Identity` | Profiles, follows, saved streams, saved bytes, and creator-centric timelines. | | ||
| | `Real Conversations` | Direct messages, threaded discussions, and comment-level collaboration. | | ||
| | `Creation Flow` | Quick post publishing with media support and stream-first organization. | | ||
|
|
||
| ```bash | ||
| ./run-front.sh | ||
| ``` | ||
| ## App Functions | ||
|
|
||
| Run backend tests using dockerized Go against the dev DB stack: | ||
| <details> | ||
| <summary><strong>▸ Core social model</strong></summary> | ||
| <br /> | ||
|
|
||
| ```bash | ||
| ./run-db-tests.sh | ||
| ``` | ||
| - Stream-first posting model: project context is always attached to updates. | ||
| - Byte interactions: reactions, saves, and threadable discussion. | ||
| - Follow graph for people discovery and relationship context. | ||
| - Unified feed surfaces both streams and bytes. | ||
|
|
||
| PowerShell equivalents: | ||
| </details> | ||
|
|
||
| ```powershell | ||
| .\run-front.ps1 | ||
| .\run-dev.ps1 | ||
| .\run-db-tests.ps1 | ||
| ``` | ||
| <details> | ||
| <summary><strong>▸ Discovery and navigation</strong></summary> | ||
| <br /> | ||
|
|
||
| - Dedicated Explore experience for users, tags, streams, and bytes. | ||
| - Category-aware search and trend-style tag surfacing. | ||
| - Route-based architecture with tabs and deep-linked detail pages. | ||
| - Welcome tour introduces product primitives and navigation model. | ||
|
|
||
| </details> | ||
|
|
||
| <details> | ||
| <summary><strong>▸ Builder profile system</strong></summary> | ||
| <br /> | ||
|
|
||
| Scan the QR code with Expo Go on your phone. The app will automatically connect to your local backend. | ||
| - Personal stream portfolio with project and post collections. | ||
| - Follower/following views and interaction controls. | ||
| - Saved content libraries for both streams and bytes. | ||
| - Profile metadata and social proof around shipping activity. | ||
|
|
||
| ### Verification Checklist | ||
| </details> | ||
|
|
||
| - Fresh clone frontend check: run `chmod +x run-front.sh run-dev.sh run-db-tests.sh`, then `./run-front.sh`, choose `Production`, and confirm Expo starts. | ||
| - Backend stack: run `./run-dev.sh`, confirm backend health at `http://<LAN-IP>:8080/health`. | ||
| - Frontend to local backend: run `./run-front.sh --local`, then validate app API calls from a phone on same WiFi. | ||
| - DB tests: run `./run-db-tests.sh` and confirm it exits with code `0`. | ||
| <details> | ||
| <summary><strong>▸ Messaging and collaboration</strong></summary> | ||
| <br /> | ||
|
|
||
| ### Prerequisites | ||
| - Direct message threads by builder. | ||
| - Username search with suggestion ranking. | ||
| - Conversation-level interaction for async collaboration. | ||
|
|
||
| 1. Install Docker and Docker Compose (v2) | ||
| 2. Install Node.js/npm for Expo frontend | ||
| </details> | ||
|
|
||
| ### Troubleshooting | ||
| <details> | ||
| <summary><strong>▸ Platform and delivery</strong></summary> | ||
| <br /> | ||
|
|
||
| - Docker Desktop on Windows: ensure file sharing is enabled for the repo path. | ||
| - If `8080` or `5433` is occupied, the scripts prompt for alternate ports (or allow exit with guidance). | ||
| - WSL/Docker Desktop/Linux engine differences: run scripts from the environment that owns your Docker daemon and ensure localhost port forwarding is enabled. | ||
| - Go + Gin REST backend with JWT auth and middleware-protected routes. | ||
| - PostgreSQL production database and SQLite-friendly test workflows. | ||
| - React Native + Expo mobile client for Android and iOS. | ||
| - AWS-hosted backend deployment path. | ||
|
|
||
| </details> | ||
|
|
||
| ## Language and Platform Snapshot | ||
|
|
||
| ```text | ||
| Backend: Go (Gin API, JWT auth, DB query layer) | ||
| Frontend: TypeScript (React Native + Expo Router) | ||
| Database: PostgreSQL (production), SQLite (test mode) | ||
| Infra: AWS EC2 + AWS RDS | ||
| ``` | ||
|
|
||
| ## Architecture at a Glance | ||
|
|
||
| ```mermaid | ||
| flowchart LR | ||
| A[Mobile App\nReact Native + Expo] --> B[Go API\nGin] | ||
| B --> C[(PostgreSQL)] | ||
| B --> D[Media Uploads] | ||
| A --> E[Streams / Bytes / Bits UX] | ||
| ``` | ||
|
|
||
| For detailed instructions, see [INSTRUCTIONS.md](INSTRUCTIONS.md). | ||
| ## Project Story | ||
|
|
||
| ## Static file sync | ||
| DevBits exists to make technical progress visible. | ||
|
|
||
| `backend/api/static/` is the source of truth for compliance and deep-linking files | ||
| (`apple-app-site-association`, `privacy-policy.html`, `account-deletion.html`). | ||
| The same files are mirrored into `frontend/public/` for the Expo web build. | ||
| Instead of posting polished outcomes only, builders can share: | ||
|
|
||
| Run `Bash-Scripts/sync-static.sh` after editing any file in `backend/api/static/` | ||
| to keep the frontend copy in sync. | ||
| - What they are building now | ||
| - What broke today | ||
| - What they learned while fixing it | ||
| - What they are shipping next | ||
|
|
||
| ## Deployment DB scripts | ||
| > [!TIP] | ||
| > The goal is simple: give developers a social home for real work in progress. | ||
|
|
||
| All deployment database script commands and usage are documented in: | ||
| ## Explore More | ||
|
|
||
| - [backend/scripts/README.md](backend/scripts/README.md) | ||
| - [backend/docs/AWS_TRANSFER_NO_NGINX.md](backend/docs/AWS_TRANSFER_NO_NGINX.md) | ||
| - Product and deployment runbook: [INSTRUCTIONS.md](INSTRUCTIONS.md) | ||
| - Backend structure and scripts: [backend/scripts/README.md](backend/scripts/README.md) | ||
| - AWS deployment notes: [docs/AWS_TRANSFER_NO_NGINX.md](docs/AWS_TRANSFER_NO_NGINX.md) | ||
|
Comment on lines
+139
to
+157
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The link to the AWS deployment notes points to
docs/AWS_TRANSFER_NO_NGINX.md, but there is no top-leveldocs/directory in the repo; the file currently lives atbackend/docs/AWS_TRANSFER_NO_NGINX.md. Update the README link target to avoid a broken reference.