Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions content/docs/2025/ProjectOR/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
bookCollapseSection: true
title: "ProjectOR"
---
129 changes: 129 additions & 0 deletions content/docs/2025/ProjectOR/week1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
title: "Week #1"
---

# Week #1

## Project description

### Project name: ProjectOR

**Code repository**: https://github.com/IU-Capstone-Project-2025/ProjectOR

This platform allows creators to post startup ideas, developers to explore and join projects, and teams to collaborate
efficiently. It also features a "startup graveyard" to document failed ventures, providing valuable insights for future
innovators.

### **Team Members**

| Team Member | Telegram Alias | Email Address | Track | Responsibilities |
|------------------------|----------------|----------------------------------|-----------------|---------------------------------------------------------------------|
| Nikita Timofeev (Lead) | @morisummer | [email protected] | Frontend | Develop UI, integrate APIs, design, |
| Almaz Andukov | @andiazdi | [email protected] | Backend | Build APIs, manage databases, ensure security |
| Kirill Karsakov | @th1ef0 | [email protected] | Project Manager | Plan and track project progress, manage team |
| Timur Nabiullin | @turbochelik | [email protected] | DevOps | Set up CI/CD, automate deployments, monitor infrastructure, testing |

## Brainstorming

### Ideas during brainstorming

1. **Project Matchmaking System**
Automatically recommend projects to developers based on skills, interests, and availability.

2. **Skill Badging & Profile Verification**
Allow users to earn badges for specific skills and verify profiles to build trust within the community.

3. **Startup Graveyard with Analytics**
Analyze reasons for project failures (e.g., lack of funding, team issues, market mismatch) to help others avoid common pitfalls.

4. **Idea Validation Tool**
Enable users to vote, comment, and provide feedback on startup ideas to quickly gauge market interest.

5. **Collaborative Task Boards**
Integrated Kanban boards or task management tools for seamless team collaboration within the platform.

### Brief market research / problem validation

1. **Project Matchmaking System**
- Platforms like GitHub, Indie Hackers, and AngelList allow developers to discover projects, but lack tailored, skill-based matchmaking.
- Competitors focus mainly on job placement, not on passion projects or early-stage startups.
2. **Startup Graveyard with Analytics**
- The failure rate for startups remains high (~90%), yet there is limited structured learning from these failures in most startup platforms.
- Aspiring entrepreneurs actively seek real failure stories to avoid common mistakes.


## Basic requirements

### Target users and their primary needs

- Startup Founders
Need: Find skilled developers, validate ideas, document startup journey.

- Developers
Need: Discover interesting projects, join meaningful teams, build portfolio.

- Entrepreneurs / Innovators
Need: Learn from failed startups, avoid common mistakes, get inspiration.

### User stories

- _As a startup founder_, I want to post my project idea so I can attract developers and collaborators.

- _As a developer_, I want to browse and filter projects based on my skills and interests so I can join relevant teams.

- _As a founder or team member_, I want to track project progress and share public roadmaps to increase transparency.

- _As a user_, I want to read and contribute to the startup graveyard to learn from past failures.

### Initial scope

- User authentication and profile creation

- Posting and browsing startup ideas

- Basic project matchmaking (filter by skills, interests)

- Startup graveyard with submission and browsing functionality

## Tech-stack

Frontend: Svelte, TypeScript, pnpm, Vite, shadcn/ui, Tailwind CSS
Backend: Python, uv, FastAPI, SQLAlchemy, Pydantic
Database: PostgreSQL, Redis
DevOps: Docker, GitHub Actions (for CI/CD), k8s

# Weekly commitments

## Individual contribution of each participant

- Almaz Andukov:
Prepared basic structure and boilerplate of the backend project; create a clean architecture layout for the API; created health-check endpoint

[backend boilerplate commit](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/9)

- Timur Nabiullin:
Configured build adapter for svelte; Created nginx configuration; Created Dockerfile for frontend; Created Dockerfile for backend; Created docker compose file; Ensured the boilerplate is runnable; Tested the integration

[Deploy commit](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/12)

- Nikita Timofeev:
Prepared basic structure and boilerplate of the frontend project; configured prettier, eslint, shadcn/ui; added button component and basic page

[Frontend boilerplate commit](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/10)

[Initial repository structure commit](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/2)

- Kirill Karsakov:

Created task board; Created weekly tasks and distributed them among all participants; Conducted research; Defined the initial project scope; Drafted 3–5 high-level user stories; Wrote the project report

[report images commit](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/11)

![task_board](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/images/photo_2025-06-11_21-54-42.jpg?raw=true)

## Confirmation of the code's operability

We confirm that the code in the main branch:

- [x] In working condition.
- [x] Run via docker-compose (or another alternative described in the `README.md`).
171 changes: 171 additions & 0 deletions content/docs/2025/ProjectOR/week2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
---
title: "Week #2"
---

# **Week #2**

## Detailed Requirements Elaboration

As a Team Seeker, I want to see only high-quality and vetted projects, so I can avoid wasting time on low-effort posts.
**Acceptance Criteria**: Content moderation, rating system, reporting feature.

As an Idea Founder, I want a space to discuss and refine my idea with potential team members, so I can better evaluate whether to collaborate with them.
**Acceptance Criteria**: Built-in chat or forum for idea discussion.

As a Developer, I want a search tool with advanced filters (e.g., tech stack), so I can find projects efficiently.
**Acceptance Criteria**: Customizable filters, saved search preferences.

As a Recruiter for my project, I want to filter applicants by skills, so I can ensure qualified team members join.
**Acceptance Criteria**: Skill-based filtering.

As someone unsure how to start my idea, I want templates or guides for pitching my idea or recruiting a team, so I can reduce uncertainty.
**Acceptance Criteria**: Step-by-step onboarding, example project pitches, clear and simple instructions for beginners.

As a founder, I want to create a public roadmap with milestones (e.g., MVP by Q3), so potential collaborators see progress.
**Acceptance Criteria**: Timeline editor, Option to mark milestones as "completed."

As a reader, I want to filter graveyard posts by industry/failure reason (e.g., "ran out of funding," "poor marketing"), so I find relevant cases.
**Acceptance Criteria**: Filter by tags like "failure reason" or "year."

As a founder, I want to create a structured project post with required fields (title, description, tech stack, roles needed), so my idea is clear and appealing.
**Acceptance Criteria**: Form includes mandatory fields (title, description, skills needed), preview option before posting.

## Idea collaboration survey

### How often do you look for new projects or ideas to work on?

![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/survey_results/photo_1_2025-06-18_22-55-43.jpg?raw=true)

### Where do you typically search for projects or teams to join?

![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/survey_results/photo_7_2025-06-18_22-55-43.jpg?raw=true)

### What’s the biggest pain point when searching for projects/teams?


![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/survey_results/photo_6_2025-06-18_22-55-43.jpg?raw=true)

### Have you ever had an idea you wanted to execute but lacked a team?

![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/survey_results/photo_4_2025-06-18_22-55-43.jpg?raw=true)

### What matters most when recruiting a team for your idea?

![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/survey_results/photo_2_2025-06-18_22-55-43.jpg?raw=true)

### What discourages you from joining startups?

![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/survey_results/photo_5_2025-06-18_22-55-43.jpg?raw=true)

### Which features would be most valuable in finding projects to join?

![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/survey_results/photo_3_2025-06-18_22-55-43.jpg?raw=true)

### Prioritized backlog

[Task board](https://github.com/orgs/IU-Capstone-Project-2025/projects/8)

## Project specific progress

### Frontend

#### New components

Implemented several new components in the frontend, which are essential for the user interface. These components
include:

- Button component
![Button component](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/components/button.png?raw=true)
- Input component
![Input component](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/components/input.png?raw=true)
- Card component
![Card component](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/components/card.png?raw=true)
- Label component
![Label component](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/components/label.png?raw=true)
- Skeleton component
![Skeleton component](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/components/skeleton.png?raw=true)
- Avatar component
![Avatar component](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/components/avatar.png?raw=true)

#### New pages

Implemented following pages in the frontend:

- Sign Up page
![Sign Up page](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/pages/register.png?raw=true)
- Sign In page
![Sign In page](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/pages/login.png?raw=true)
- Demo main page with skeleton projects
![Demo main page](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/pages/demo_main_page.png?raw=true)

#### Routing

Implemented routing in the frontend using Svelte Router. This allows users to navigate between different pages of the
application seamlessly

### Backend

[Add endpoints for project and add create project model with migrations](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/42)

### Design

[Figma design PR](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/43)

[Figma file](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/low-fi.fig)

![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/low-fi.png?raw=true)

#### User flows

##### Developer

![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/user-flows/developer.png?raw=true)

##### Founder

![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/user-flows/founder_user.png?raw=true)

##### Investor

![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/user-flows/investor.png?raw=true)

##### Universal user

![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/user-flows/universal_user.png?raw=true)

# Weekly commitments

## Individual contribution of each participant

**Timur Nabiullin**: Conducted survey about people experience in finding or creating projects; expanded and added user stories based on the survey

**Almaz Andukov**: Reorganized the backend structure and implemented API endpoints with Pydantic schemas for project management; added a Project model to represent the corresponding database table; integrated Alembic for database migrations; Updated docker-compose to include a PostgreSQL service and automatically apply migrations on startup ([PR](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/42))

**Nikita Timofeev**:
- Added input, card, input, avatar, skeleton components ([PR](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/45))
- Added login page ([PR](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/45))
- Added register page ([PR](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/45))
- Added root demo page with components present ([PR](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/45))
- Add main projects explore skeleton page ([PR](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/45))
- Added routing ([PR](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/45))
- Developed basic user flow diagrams for key interactions ([PR](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/46), [Figma link](https://www.figma.com/board/ir1uLWIdiewKIPPVO3TMtn/ProjectOR-User-Flows?node-id=0-1&t=v5rlwgM4sItXTl0W-1))

**Kirill Karsakov**: Created an initial backlog with prioritized features/tasks; thought about questions for the survey; wrote the project report

## Plan for Next Week

1. Core Feature Implementation:
* Frontend and Backend developers collaborate to implement the highest priority features from the backlog.
* Focus on making at least one end-to-end user journey functional.
* Implement basic error handling.
* User authentication/authorization.
2. API Integration: Connect frontend components to backend APIs.
3. Data Persistence: Ensure data is being correctly stored and retrieved from the database.
4. Internal Demo & Feedback: Conduct an internal team demo of the current state. Identify bugs and areas for immediate
improvement.

## Confirmation of the code's operability

We confirm that the code in the main branch:
- [x] In working condition.
- [x] Run via docker-compose (or another alternative described in the `README.md`).
Loading