diff --git a/readme b/readme index 0c7afee..1f76ef1 100644 --- a/readme +++ b/readme @@ -1,29 +1,126 @@ -# Things To Download +# DevBits -'''txt -git -swaylock-effects-git -wlogout -nvim -zip unzip -pipewire -hyprpaper -hyprpicker -code -bpytop -nerdfetch -asciiquarium -yay -wl-clipboard -wl-copy -nerd-fonts -starship -thunar -grim -slurp -gradience -gnome-network-displays -discord -firefox -spotify -''' \ No newline at end of file +## Goal: Create an X and LinkedIn crossover for posting real content about your projects, semi-formally + +### Outline + +Projects are the baseline of the app, you must have a project to post. + +Anyone can comment, like, follow, despite their project count. + +Some quirky names for things (frontend only) + +- Projects are called 'Stream's +- Posts about projects are called 'Byte's +- Comments are called 'Bit's + +### Tech Stack + +- Backend/API in Go, Elixir/Scala if need big data processing +- Frontend: ReactNative and Expo +- Database: PostgreSQL or MySQL +- Host: On AWS, full system design pending + +## Local Testing + +### Backend Testing + +Install the following packages: + +- [**Go**](https://go.dev/doc/install) (for running the API) +- [**SQLite3**](https://www.sqlite.org/index.html) (for database operations) + +#### 1. Navigate to the Project Root + +Change into the project directory: + +```bash +cd /path/to/DevBits +``` + +#### 2. Start the Database + +1. Open a terminal and navigate to the database directory: + + ```bash + cd backend/api/internal/database + ``` + +2. Launch the SQLite database: + + ```bash + sqlite3 dev.sqlite3 + ``` + +3. (Optional) Open the `create_tables.sql` file in a new terminal for reference: + + ```bash + nvim create_tables.sql + ``` + +#### 3. Start the API + +1. Open another terminal and navigate to the backend directory: + + ```bash + cd backend + ``` + +2. Run the API: + + ```bash + go run ./api + ``` + +That's it! You're ready to start working with the DevBits API and database. + +--- + +### Frontend Testing + +Install the following packages: + +- [**Node**](https://nodejs.org/en/download/package-manager) (for running the React Native App) + +#### 1. Navigate to the DevBits Frontend + +Change into the project directory: + +```bash +cd /path/to/DevBits/frontend +``` + +#### 2. Check required packages are installed + +```bash +npm install +``` + +#### 3. Start the app + +```bash +npm run frontend +``` + +In the output, you'll find options to open the app in a + +- [development build](https://docs.expo.dev/develop/development-builds/introduction/) +- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/) +- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/) +- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo + +### Run app + +#### 1. Navigate to the DevBits frontend (required to run npm commands) + +Change into the project directory: + +```bash +cd /path/to/DevBits/frontend +``` + +#### 2. Run all required commands + +```bash +npm run all +``` \ No newline at end of file