Vizinn is an innovative, open-source platform that connects users in specific regions for buying, selling, and offering services in a practical and secure way. Our goal is to strengthen the local economy and create a reliable environment for transactions between neighbors and nearby communities. We welcome contributors from all backgrounds. Whether you're a seasoned developer or just starting out, this project offers a fantastic opportunity to collaborate and make a real impact.
- π Learn modern technologies in a real-world application
- π₯ Collaborate with a community of developers
- π Build a meaningful addition to your professional portfolio
- π Make an impact on local communities through technology
We believe in transparent, collaborative development and look forward to your contributions!
For a detailed contribution guide, check out our CONTRIBUTING guide.
For information about frontend-backend connectivity, see our FRONTEND_BACKEND_DOCUMENTATION.
Check out our design prototype in Figma:
Note: The Figma design requires access permission. Please request access and the project owner will manually grant it to you.
If you wish to support this initiative or be part of the project, contact us:
- π Discord
- π WhatsApp Group
Vizinn is poised to transform local economies and community interactions in significant ways:
- Stimulate Local Commerce: Reduce economic leakage by keeping transactions within communities
- Empower Small Entrepreneurs: Lower barriers to entry for micro-entrepreneurs and service providers
- Reduce Transport Costs: Minimize logistics expenses by facilitating hyperlocal transactions
- Create New Market Opportunities: Enable service providers to reach customers in their immediate vicinity
- Strengthen Community Bonds: Foster connections between neighbors who might otherwise never interact
- Increase Safety and Trust: Create a verified marketplace with accountability through the rating system
- Reduce Environmental Footprint: Decrease carbon emissions by encouraging local consumption
- Bridge Digital Divide: Provide technological access to local markets for all community members
- Data-Driven Insights: Generate valuable data about local commerce patterns
- Scalable to Different Contexts: Adaptable to various settings from condominiums to university campuses
- Integration with Local Services: Potential to connect with local delivery networks and payment systems
- Community-Led Development: Features can evolve based on specific community needs
By addressing these market gaps, Vizinn represents not just an app but a paradigm shift in how we think about community commerce and neighborhood interactions.
- Users can define their area of interest, allowing transactions within their condominium or in strategic locations such as universities, shopping centers, and specific neighborhoods.
- β Exclusive Marketplace β Users in nearby regions can post listings and make purchases.
- π Featured Listings β Users can pay to highlight their listings and increase visibility.
- π Smart Location Filters β Search for products and services within your condominium or specific areas.
- π Exchange and Donation Area β Encouraging circular economy within communities.
- π’ Building Manager Panel β Announcements and event organization.
- β Ratings and Reputation β Feedback system to increase trust between users.
- π Security and Moderation β Reporting inappropriate listings and identity validation.
- π³ Integrated Payment Option β Facilitating secure transactions within the app.
- π’ Specific Requests β Users can publish specific demands, such as "I want lunch at UFRN."
- β React Native β Framework for building native mobile apps.
- π± Expo β Platform for universal React applications.
- π Ignite β Boilerplate for accelerated development.
- π¨ NativeWind (TailwindCSS) β Efficient and optimized styling for React Native.
- π Axios β Efficient HTTP requests.
- π² React Navigation β Flexible navigation system.
- β‘ FastAPI β Modern and high-performance framework for APIs.
- π SQLAlchemy β ORM for SQL databases.
- π JWT β Secure authentication.
- π¦ SQLite/PostgreSQL β Scalable and reliable database.
- π§ Alembic β Database migration tool.
- π Pydantic β Data validation and settings management.
- π WebSockets for real-time updates.
- π CI/CD for automated deployment.
- π¦ PNPM for monorepo package management.
- π Poetry for Python dependency management.
This monorepo contains the following packages:
apps/backend: Python API with FastAPIapps/frontend-app: React Native mobile applicationapps/shared-ui: UI utilities shared between projects
We welcome contributions to the Vizinn project! Contributing to this project not only helps us build something amazing, but also provides you with valuable experience in modern development practices and technologies.
- Gain experience with modern tech stack (React Native, FastAPI, etc.)
- Build your portfolio with meaningful open source contributions
- Connect with a community of developers
- Learn collaborative development workflows
- Make a positive impact on local communities
- Fork the repository to your own GitHub account
- Clone your fork to your local machine:
git clone https://github.com/YOUR-USERNAME/vizinn-app.git cd vizinn - Set up the project by following the installation instructions below
- Create a branch for your feature or bug fix:
git checkout -b feature-name
- Make your changes and commit them with clear, descriptive messages:
git commit -m "Add feature: description of your changes" - Push to your fork:
git push origin feature-name
- Open a pull request to the main repository
- Before starting work, check the issues and existing PRs to avoid duplication
- Follow the code style and conventions used in the project
- Write clear commit messages
- Include tests and documentation for your changes
- Keep PRs focused on a single feature or fix
Once your PR is accepted:
- You'll be given the "contributor" role on our Discord server
- Your name will be added to our contributors list
- You'll have the opportunity to become a regular maintainer
- Node.js >= 18.0.0
- pnpm >= 8.0.0
- Python >= 3.13
- Poetry (for managing backend dependencies)
# Install monorepo dependencies
pnpm install
# Install backend dependencies (Python)
cd apps/backend
poetry installTo run the Vizinn project, you need to start both the frontend and backend servers. The simplest way is to run these commands in separate terminal windows:
# Navigate to the project root and run:
npm run dev:frontend
# Navigate to the project root and run:
npm run dev:backend
If you want to run both servers simultaneously, you can use:
# Run all services in parallel
npm run dev
# Build React Native app
pnpm build:app
# Build all packages
pnpm build# Lint React Native app
pnpm lint:app
# Test React Native app
pnpm test:appTo add dependencies to a specific package:
# Example for any package
pnpm --filter <package-name> add <dependency-name>To add development dependencies:
pnpm --filter <package-name> add -D <dependency-name>To use shared packages in other projects:
# Add shared-ui package to any project
pnpm --filter <project-name> add "shared-ui@workspace:*"Use the available script to easily create new shared packages:
./create-shared-package.sh package-name "Package description"The backend uses Poetry for Python dependency management:
# Inside the packages/backend folder
poetry add <package-name>
# Run the FastAPI server
poetry run uvicorn backend.app:app --reloadFor detailed backend setup instructions, see the backend README.
To enhance your development experience, we provide a VS Code workspace configuration that automatically sets up your project structure and opens multiple terminals for development.
Before using the workspace configuration, install the following VS Code extension:
- Restore Terminals - manuth/vscode-restore-terminals
- This extension automatically opens and configures your terminal sessions when you open the workspace.
-
Open the project in VS Code by clicking on the
workspace.code-workspacefile in the root directory. -
Alternatively, you can open it from the command line:
code workspace.code-workspace
-
This will set up your workspace with the following structure:
- "Vizinn Root" - The root directory of the project
- "Frontend" - The frontend application
- "Backend" - The backend API
With this configuration, when you open the workspace, three terminals will automatically open:
- App Terminal - Executa o servidor backend (
npm run dev:backend) - App Server - Executa o aplicativo frontend (
npm run dev:frontend) - Monorepo Root - Terminal na raiz do projeto para comandos gerais
If you want to customize the workspace configuration, you can edit the workspace.code-workspace file. Here's what the current configuration looks like:
Note: You may need to adjust the file paths in the commands to match your specific project location.
{
"folders": [
{
"path": ".",
"name": "Vizinn Root"
},
{
"path": "./apps/frontend-app", // Adjust to match current structure
"name": "Frontend"
},
{
"path": "./apps/backend",
"name": "Backend"
}
],
"settings": {
"restoreTerminals.artificialDelayMilliseconds": 700,
"restoreTerminals.keepExistingTerminalsOpen": false,
"restoreTerminals.runOnStartup": true,
"restoreTerminals.terminals": [
{
"splitTerminals": [
{
"name": "App Terminal", // Backend Terminal
"commands": [
"cd ~/Projects/vizinn",
"npm run dev:backend" // Starts the FastAPI Server
]
},
{
"name": "App Server", // Frontend Terminal
"commands": [
"cd ~/Projects/vizinn",
"npm run dev:frontend" // Starts React Native app with Expo
]
},
{
"name": "Monorepo Root", // Additional terminal for other commands
"commands": [
"cd ~/Projects/vizinn",
"git pull"
]
}
]
}
]
}
}To help you get started with the technologies used in this project, we've compiled a list of useful resources:
- React Native Official Documentation
- Expo Documentation
- React Navigation Guide
- NativeWind (TailwindCSS for React Native)
- Fixed frontend-backend connectivity issues
- Configured PostgreSQL local database connection
- Resolved CORS configuration issues
- Fixed endpoint URL formats for all API calls (added trailing slashes)
- Created unified documentation for frontend-backend connection
- Increased API timeout for registration process
- Implemented retry mechanism for handling API timeouts
- Added detailed error messages for common connectivity issues
- Added comprehensive backend documentation
- Improved monorepo structure and package management
- Added Poetry configuration for Python dependency management
- Enhanced script commands for better development experience
- Updated monorepo package.json with more complete metadata and scripts
- Added Python 3.13 requirement




