SurveyStore

Overview

SurveyStore is an application to help professionals keep track of their survey equipment and tasks related to the daily routine. It is a part of the "100commitow" challenge by DevMentors.

Features

  • Equipment Management: Track and manage all your survey equipment efficiently.
  • Task Scheduling: Keep track of daily tasks and routines, ensuring nothing is missed.
  • Notifications: Receive reminders and alerts for important tasks and equipment maintenance.

Technology

SurveyStore is built using modern technologies to ensure reliability, scalability, and performance. Some key technologies used in the development include:

  • Domain-Driven Design (DDD) with Clean Architecture: Domain-Driven Design, combined with Clean Architecture, ensures that the application's structure is maintainable, scalable, and testable. This approach separates concerns by organizing the codebase into layers (e.g., Domain, Application, Infrastructure, Presentation) and focuses on the core business logic.
  • .NET 5.0: This cross-platform framework provides a high-performance, flexible, and open-source platform for building modern applications. .NET 5.0 is designed for building a wide range of applications, from web and mobile to desktop and cloud.
  • Entity Framework: An object-relational mapper (ORM) for .NET, Entity Framework allows developers to work with a database using .NET objects, eliminating the need for most of the data-access code that developers typically need to write.
  • PostgreSQL: A powerful, open-source relational database system known for its robustness, scalability, and support for advanced data types and performance optimization features. PostgreSQL ensures that SurveyStore's data storage is both efficient and reliable.
  • Git: A distributed version control system that allows developers to track changes in the source code during software development. Git facilitates collaboration, code management, and version tracking, ensuring that the development process is smooth and organized.

These technologies collectively contribute to the robustness, scalability, and performance of SurveyStore.

Installation

To get started with SurveyStore, follow these steps:

  • Clone the Repository: Clone the SurveyStore repository from GitHub to your local machine.
  • Install Dependencies: Navigate to the project directory and install the necessary dependencies using your preferred package manager.
  • Configure Database: Set up PostgreSQL and configure the connection string in the application settings.
  • Run the Application: Use the .NET CLI to build and run the application.

Testing

Quality is a top priority for SurveyStore. The project includes comprehensive testing strategies:

  • Unit Testing: Ensuring individual components function correctly.
  • Integration Testing: Verifying that different modules and services work together as expected.
  • End-to-End Testing: Simulating real user scenarios to ensure the entire application works as intended.

Contributing

Contributions to the SurveyStore project are welcomed and greatly appreciated. Whether you're interested in fixing bugs, adding new features, or improving documentation, your contributions help make SurveyStore better for everyone. To contribute, please follow these steps:

Fork the repository and clone it to your local machine. Create a new branch for your feature or bug fix. Make your changes and test thoroughly. Commit your changes and push to your fork. Submit a pull request, detailing the changes you've made and any relevant information.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Support

If you encounter any issues or have questions about SurveyStore, please reach out through the project's issue tracker on GitHub.

Acknowledgements

Special thanks to DevMentors for their "100commitow" challenge and the continuous support and contributions from the developer community.