We’re excited to have you contribute to Proximity! Follow these simple steps to get started:
-
Click the Fork button at the top of the repository’s GitHub page.
-
Clone your forked repository locally:
git clone https://github.com/yourusername/proximity.git cd proximity
-
Create a branch with a descriptive name:
git checkout -b feature/your-feature-name
- Implement your feature or fix a bug.
- Ensure your code is clean and adheres to the project’s style guide.
- Run the project locally and thoroughly test your changes.
-
Stage and commit your changes:
git add . git commit -m "Add: Description of your changes"
-
Push the changes to your branch:
git push origin feature/your-feature-name
- Go to the original repository on GitHub and click New Pull Request.
- Provide a detailed description of your changes and link any relevant issues.
Proximity uses a monorepo structure to organize its codebase efficiently. The repository is divided into the following directories:
- web: The Proximity web application, built with Next.js as a PWA.
- native: The Proximity native application, developed using React Native.
- desktop: The Proximity desktop application, created with Electron.
- ui: Houses reusable UI components and utilities for Proximity, built with React, Tailwind CSS, and ShadCN components.
- "name"-config: Contains configuration files specific to individual packages.
- env: Centralized management of environment variables for the entire monorepo.
- database: Provides Prisma-based database access for all parts of Proximity.
- services: Contains microservices responsible for key functionalities such as:
- auth: Handles authentication and user management.
- tldr: Generates concise summaries for news articles.
- scraping: Fetches news articles from various sources.
- recommendation: Provides personalized news recommendations.
- search: Enables powerful search capabilities across indexed news content.