Skip to content

feat: implement project initialization system#109

Merged
0xdevcollins merged 5 commits into
boundlessfi:mainfrom
JamesVictor-O:feat/Project-Initialization
Jul 2, 2025
Merged

feat: implement project initialization system#109
0xdevcollins merged 5 commits into
boundlessfi:mainfrom
JamesVictor-O:feat/Project-Initialization

Conversation

@JamesVictor-O

@JamesVictor-O JamesVictor-O commented Jun 28, 2025

Copy link
Copy Markdown
Contributor

Description

Implements a two-stage project submission process where projects must be validated by the community before launching funding campaigns.

close #102

Changes Made

New API Endpoint

  • /api/projects/init - Handles project initialization with comprehensive validation
  • Validates all form data using Zod schemas
  • Uploads images and documents to Cloudinary
  • Creates projects with ideaValidation: "PENDING" status
  • Handles team members and milestones creation

Form Updates

  • Updated project form to use new /api/projects/init endpoint
  • Changed UI text from "Create Project" to "Initialize Project"
  • Added validation process information in review step
  • Updated success messages to reflect validation workflow

Form Updates

  • Updated project form to use new /api/projects/init endpoint
  • Changed UI text from "Create Project" to "Initialize Project"
  • Added validation process information in review step
  • Updated success messages to reflect validation workflow

Technical Details

  • Validation Flow
  • PENDING - Project submitted, awaiting community votes
  • VALIDATED - Sufficient votes received, eligible for funding
  • REJECTED - Insufficient community support

Files Changed

  • app/api/projects/init/route.ts (new)
  • components/project-form/index.tsx
  • components/project-form/components/form-actions.tsx
  • app/(dashboard)/projects/new/page.tsx
  • components/project-form/steps/review-step.tsx

Screenshots

Screenshot from 2025-06-28 20-06-52
Screenshot from 2025-06-28 20-07-05
Screenshot from 2025-06-28 20-07-11
Screenshot from 2025-06-28 20-07-15

@vercel

vercel Bot commented Jun 28, 2025

Copy link
Copy Markdown

@JamesVictor-O is attempting to deploy a commit to the christroa's projects Team on Vercel.

A member of the Team first needs to authorize it.

@Benjtalkshow

Copy link
Copy Markdown
Collaborator

@JamesVictor-O
Did you actually test your implementation?

@JamesVictor-O

Copy link
Copy Markdown
Contributor Author

@Benjtalkshow yes I did base on the issue requirement except for the last submission, because I had no other member add, is there a problem? Is there something I need to fix?

@Benjtalkshow Benjtalkshow left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JamesVictor-O

I really appreciate the effort and work you’ve done so far. But there are a few things you need to fix:

1. Project Initialization Form

You didn’t follow the issue description properly. It clearly stated that we only need a project initialization form with the following fields:

  • title (string, required): Project title
  • description (string, required): Description of the project
  • fundingGoal (number, required): Target funding goal (e.g. 5000)
  • category (string, required): Project category (e.g. "tech")
  • banner (file, required): Project banner image
  • logo (file, required): Project logo image

The goal is for users to only initialize the project and submit it for admin review not to provide all project details at once. Once the project is approved, users can use the existing form to complete the rest of the details.

You’re expected to create a new form that only collects the fields listed above.


2. Do Not Modify the Existing Form

Please do not tamper with the existing form.
Instead, create a new route, e.g., /dashboard/init, and build the new form there.


3. Use the Correct Backend API

You submitted the data to a Prisma database, but the issue specifically asked you to use the provided backend API endpoint.

Check our API documentation under the Project Ideas section to find the correct endpoint for creating a project.
See the image below:

image

4. Updated Stack Info

We were initially using Prisma with PostgreSQL, but we’ve moved to a standalone backend built with Express.js and MongoDB.
We now use NextAuth for authentication, and all user data and interactions go through our MongoDB backend.


5. Learn How Frontend Talks to Backend

To better understand how our frontend connects to the backend API, please look into these files:

  • auth.ts (root directory)
  • libs/api/api.ts
  • libs/api/auth.ts
  • libs/api/dashboard.ts
  • libs/api/types.ts
  • libs/api/README.md

6. Use the New UI Design

We're also redesigning the project interface. Please use the Figma design below to build the new project initialization form.
Just the form not the sidebar.

image

Sorry for the confusion and extra work. If you have any questions, feel free to ask.
Thanks🙏

@JamesVictor-O

JamesVictor-O commented Jun 29, 2025

Copy link
Copy Markdown
Contributor Author

@Benjtalkshow talk for the clarification, now I understand clearly, let me work on it and push. please can i get the link to the figma file ? Thank you so much

@Benjtalkshow

Copy link
Copy Markdown
Collaborator

@Benjtalkshow talk for the clarification, now I understand clearly, let me work on it and push. please can i get the link to the figma file ? Thank you so much

@JamesVictor-O use the image i attached to my comment. There's no design system. So extract the color from the image

@JamesVictor-O JamesVictor-O marked this pull request as draft July 1, 2025 10:56
@JamesVictor-O

Copy link
Copy Markdown
Contributor Author

@0xdevcollins this is the draft request please check it out

- Added a new API function `initProject` to handle project submissions, improving code organization and maintainability.
- Updated the project initialization page to utilize the new API function for submitting project data, enhancing error handling and logging.
- Made minor adjustments to form descriptions for better clarity.
@0xdevcollins 0xdevcollins marked this pull request as ready for review July 2, 2025 10:40
@0xdevcollins 0xdevcollins merged commit db143e2 into boundlessfi:main Jul 2, 2025
0 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

New Crowdfund Project Initialization Form UI

3 participants