Skip to content

BarterPoint is a minimum viable product (MVP) for a bartering app designed to facilitate the exchange of goods between users. I use this project primarily as a tool to introduce some of my colleagues and friends to the .NET, React Native, and SQL ecosystem. The focus is to highlight how these technologies interact.

License

Notifications You must be signed in to change notification settings

ParsMaioris/BarterPoint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BarterPoint

BarterPoint is a minimum viable product (MVP) for a bartering app, designed to facilitate the exchange of goods between users. This project aims to provide a simple and effective platform for users to list, browse, and trade items with ease.

Features

  • React Native: A mobile user interface that adapts well to various devices.
  • .NET Web API: A backend service to handle user requests, authentication, and transactions.
  • SQL Database: A data storage and retrieval system to manage user data and bartering activities.

For video demonstrations of these features, please refer to the Usage section.

Setup Options

BarterPoint can be set up either in the cloud or locally:

  • Cloud Setup: The current setup uses Azure for the SQL server and web API deployment. If you would like to check out the Swagger documentation and the database through Azure Studio, please reach out directly. Your IP address can be whitelisted, and demo user accounts with passwords can be created to provide access.

  • Local Setup: You can also run the project locally. Follow these steps:

    1. Set up the SQL Server:

      • Ensure an SQL server is running locally.
      • Run the provided SQL scripts in the BarterPoint.Sql directory to set up the database schema.
    2. Configure the Web API:

      • Navigate to the BarterPoint.Api directory.
      • Set the connection string in the appsettings.json file to point to your local SQL server.
      • Start the web API using the command:
        dotnet run
    3. Configure the Mobile App:

      • Navigate to BarterPoint.Mobile/src/api/ApiService.ts.
      • Adjust the BASE_URL in the configuration file to point to your local API URL.
    4. Run the Mobile App:

      • Navigate back to the BarterPoint.Mobile directory.
      • Install dependencies using:
        npm install
      • Start the React Native Expo app using:
        npm start

Usage

Once the application is operational, users can:

  • Register: Create an account to start bartering.
  • List Items: Offer items for trade.
  • Browse: Explore items listed by other users.
  • Initiate Trades: Propose and manage trades with other users.
  • Manage Activities: Oversee bartering activities and track transaction history.

Video Demonstrations

For a deeper understanding of BarterPoint and its backend integration, explore our video tutorials:

  • Azure SQL Integration: Adding a Product, Placing a Bid, and Rejecting a Bid
    Azure SQL Integration
    Watch on YouTube: Azure SQL Integration

  • User Features: Rating a User, Viewing Transaction History, Approving a Bid, and User Favorites
    Mobile App Features
    Watch on YouTube: Mobile App Features

Future Enhancements

While BarterPoint is a functional MVP, several features and improvements are planned for future releases:

  • Microservices Architecture: Gradually refactor services into microservices for better scalability and maintainability.
  • Push Notifications: Implement notifications to alert users about trade offers and updates.
  • Caching: Introduce caching in the web API to enhance performance and efficiency.
  • Comprehensive Logging: Implement logging on both the client side (mobile application) and the web API side for better monitoring and troubleshooting.
  • Queuing Mechanisms: Explore the use of queuing for efficient handling of asynchronous tasks.
  • Enhanced Security Measures: Implement advanced authentication and authorization mechanisms.
  • Geolocation Services: Add location-based features to facilitate local trades.

Purpose and Context

BarterPoint is actively under development and primarily serves as a portfolio piece. The project is primarily used by the author as a tool to introduce some of his colleagues and friends to the .NET, React Native, and SQL ecosystem. The focus is to highlight how these technologies interact. There are no immediate plans to take this project beyond its current state.

Contributing

Contributions to BarterPoint are welcome. Suggestions or issues can be submitted via pull requests or by opening an issue on GitHub.

License

This project is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License. This license allows you to:

  • Use: The material can be used in any format or medium.
  • Modify: The material can be remixed, transformed, and built upon.
  • Distribute: The modified material can be distributed, even for commercial purposes.

Key Points

  1. Attribution:
    Proper credit should be given, including a link to the license and an indication if changes were made. This ensures future contributors and users can benefit from the original work and its comprehensive context.

  2. Transparency:
    All changes and contributions in the GitHub repository have time stamps and are publicly available, which promotes transparency and ease of verification.

  3. Collaboration:
    Maintaining a link to the original work facilitates collaboration and allows users to leverage the entire body of work for their purposes.

Benefits

  • Review Full-Stack Development Skills:
    This project is ideal for demonstrating and reviewing full-stack development skills, and it is useful for job interviews and professional portfolios.

  • Community Enhancement:
    Others are welcome to learn from, contribute to, and expand upon this work. This doesn't have to be a solo project; it's a place to review skills, and contributions can be highlighted during job interviews.

For detailed information, please refer to the LICENSE file.

About

BarterPoint is a minimum viable product (MVP) for a bartering app designed to facilitate the exchange of goods between users. I use this project primarily as a tool to introduce some of my colleagues and friends to the .NET, React Native, and SQL ecosystem. The focus is to highlight how these technologies interact.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published