CrowdSolve is an innovative platform designed to connect real-world problems with collaborative solutions. Our mission is to provide a space where businesses, organizations, and individuals can post challenges and receive solution proposals from an active community of problem-solvers.
- Challenge Posting: Businesses and organizations can create challenges with specific details.
- Collaborative Participation: Users can submit solutions, receive feedback, and improve their proposals.
- Evaluation and Selection: A fair evaluation process allows the selection of the best solutions for each challenge.
- Secure Authentication: JWT-based authentication ensures secure access and authorization.
- User-Friendly Interface: An intuitive design built with modern technologies like React and .NET Core.
- Frontend: React, Tailwind CSS, Shadcn/Radix UI
- Backend: .NET Core
- Database: SQL Server (Docker)
- Authentication: JWT, Google OAuth
- Notifications: Sonner
- API Management: Axios
- Node.js (for the frontend)
- .NET Core SDK (for the backend)
- Docker (for the database)
-
Clone the Repository:
git clone https://github.com/Divanny/CrowdSolve.git cd CrowdSolve -
Configure the Backend:
- Create an
appsettings.jsonfile in the root of the backend project with the following structure:
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "ConnectionStrings": { "CrowdSolve": "YourConnectionString" }, "Jwt": { "Audience": "https://crowdsolve.site/", "Issuer": "https://crowdsolve.site/", "Key": "YourSecretKey" }, "Google": { "ClientId": "YourClientId", "ClientSecret": "YourClientSecret" }, "Mailing": { "noreply": { "Email": "noreply@crowdsolve.site", "Password": "YourPassword" }, "support": { "Email": "support@crowdsolve.site", "Password": "YourPassword" } } } - Create an
-
Configure the Frontend:
- Create a
.envfile in the root of the frontend project with the following structure:
VITE_GOOGLE_CLIENT_ID="YourClientId" VITE_GOOGLE_CLIENT_SECRET="YourClientSecret" - Create a
-
Run the Database with Docker:
docker pull divanny/crowdsolve-sqlserver docker run -d -p 1433:1433 --name crowdsolve-db divanny/crowdsolve-sqlserver
-
Start the Backend:
cd CrowdSolve.Server dotnet restore dotnet run -
Start the Frontend:
cd CrowdSolve.Client npm install npm run dev
- UI Components: Built using Shadcn based on Radix UI.
- Styling: Tailwind CSS for fast and consistent design.
- Routing: Managed with React Router.
- API Calls: Custom
use-axioshook for handling requests.
- Authentication: JWT and Google OAuth.
- Database: SQL Server running in Docker.
- API: RESTful endpoints for managing challenges, solutions, and users.
- Shadcn Documentation
- Radix UI Documentation
- Tailwind CSS Documentation
- React Router Documentation
- Sonner Documentation
If you'd like to contribute to the project, follow these steps:
- Fork the repository.
- Create a feature branch (
feature/descriptive-name). - Make your changes and ensure everything works correctly.
- Submit a Pull Request to the
developbranch.
This project is licensed under the MIT License. See the LICENSE file for details.
Thank you for visiting CrowdSolve! If you have any questions or suggestions, feel free to open an issue in the repository.
