From ddba1bb9d20b7fc97e73629a945f6d13e3606c0e Mon Sep 17 00:00:00 2001 From: Kirill Karsakov <159456216+Th1ef0@users.noreply.github.com> Date: Wed, 11 Jun 2025 22:04:18 +0300 Subject: [PATCH 1/7] Create _index.md --- content/docs/2025/ProjectOR/_index.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 content/docs/2025/ProjectOR/_index.md diff --git a/content/docs/2025/ProjectOR/_index.md b/content/docs/2025/ProjectOR/_index.md new file mode 100644 index 000000000..2a00b69c4 --- /dev/null +++ b/content/docs/2025/ProjectOR/_index.md @@ -0,0 +1,4 @@ +--- +bookCollapseSection: true +title: "ProjectOR" +--- From 95791e4898d447e24c5faf93b7244067059eee9c Mon Sep 17 00:00:00 2001 From: Kirill Karsakov <159456216+Th1ef0@users.noreply.github.com> Date: Wed, 11 Jun 2025 23:43:00 +0300 Subject: [PATCH 2/7] Create week1.md --- content/docs/2025/ProjectOR/week1.md | 129 +++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 content/docs/2025/ProjectOR/week1.md diff --git a/content/docs/2025/ProjectOR/week1.md b/content/docs/2025/ProjectOR/week1.md new file mode 100644 index 000000000..22e503628 --- /dev/null +++ b/content/docs/2025/ProjectOR/week1.md @@ -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 | n.timofeev@innopolis.university | Frontend | Develop UI, integrate APIs, design, | +| Almaz Andukov | @andiazdi | al.andukov@innopolis.university | Backend | Build APIs, manage databases, ensure security | +| Kirill Karsakov | @th1ef0 | k.karsakov@innopolis.university | Project Manager | Plan and track project progress, manage team | +| Timur Nabiullin | @turbochelik | t.nabiullin@innopolis.university | 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`). From 717788043434fe489824079683d3c1231baf853f Mon Sep 17 00:00:00 2001 From: Kirill Karsakov <159456216+Th1ef0@users.noreply.github.com> Date: Wed, 18 Jun 2025 23:41:59 +0300 Subject: [PATCH 3/7] Add files via upload --- content/docs/2025/ProjectOR/week2.md | 171 +++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 content/docs/2025/ProjectOR/week2.md diff --git a/content/docs/2025/ProjectOR/week2.md b/content/docs/2025/ProjectOR/week2.md new file mode 100644 index 000000000..2ddc5e72c --- /dev/null +++ b/content/docs/2025/ProjectOR/week2.md @@ -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`). \ No newline at end of file From 5d45664b32c6e0bd7350b2607795f688d673ba47 Mon Sep 17 00:00:00 2001 From: Kirill Karsakov <159456216+Th1ef0@users.noreply.github.com> Date: Wed, 25 Jun 2025 23:34:53 +0300 Subject: [PATCH 4/7] Add files via upload --- content/docs/2025/ProjectOR/week3.md | 96 ++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 content/docs/2025/ProjectOR/week3.md diff --git a/content/docs/2025/ProjectOR/week3.md b/content/docs/2025/ProjectOR/week3.md new file mode 100644 index 000000000..cada2664f --- /dev/null +++ b/content/docs/2025/ProjectOR/week3.md @@ -0,0 +1,96 @@ +--- +title: "Week #3" +--- + +# **Week #3** + +## Implemented MVP features + +### User journey + +#### 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) + +### Features + +- Added authentication and registration from backend +- Added creation of project cards form backend +- Added Create Project Dialog windows with backend connection +- Connected projects explore page with the backend +- Implemented new components: Alert, Dialog, Dropdown Menu, Sonner, Textarea +- Implemented API client with backend with automatic API schema pulling using openapi + +## Demonstration of the working MVP + +[Demo of MVP](https://github.com/IU-Capstone-Project-2025/ProjectOR/raw/refs/heads/main/docs/videos/mvp0_demo.mp4) + +## Internal demo + +Bugs Identified: +- “View Project” buttons are inconsistently aligned within cards of different heights. +- Typing in the search box yields no results even for exact project titles. +- Missing owner property of the project entity, no security policies on project manipulations +- No mobile devices support + +Areas for Immediate Improvement: +- Add user roles, justify access to several endpoint in respect of user role +- Implement live filtering, display a clear “No projects found” message, and support partial matches. +- Add backend unit tests + +# Weekly commitments + +## Individual contribution of each participant + +**Timur Nabiullin**: + +- Created user journey +- Found ways to solve dangerous bugs + +**Almaz Andukov**: +- JWT token authorization is configured using OAuth2 Password Flow. +- User model is implemented, migrations and a table in the database are added. + +- Routes are created: + - POST /register — user registration + - POST /token — receiving an access token + +- Endpoints are protected by authorization, access to them is possible only with a valid JWT + +[Link to PR](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/48) + +**Nikita Timofeev**: + +- Implemented new components: Alert, Dialog, Dropdown Menu, Sonner, Textarea +- Implemented API client with backend with automatic API schema pulling using openapi +- Implemented shared store for user authentication state +- Implemented authorization and registration handling with JWT token +- Connected projects explore page with the backend +- Added Create Project Dialog windows with backend connection +- Recorded and added MVP0 demo video +[Link to the PR](https://github.com/IU-Capstone-Project-2025/ProjectOR/pull/51) + + +**Kirill Karsakov**: +- Wrote a report +- Added new tasks to task board +- Found new bugs in internal demo + + +## Plan for Next Week + +- Write unit tests for critical backend logic and frontend components. +- Write integration tests for API endpoints +- Aim for basic end-to-end tests for the core user journey +- Set up Continuous Integration (CI) to automatically build and run tests on every push/PR +- Deploy the current version of your application to the staging environment + +## 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`). \ No newline at end of file From c5195afbb7802fa215598b405a9cdb1c2dfff6ff Mon Sep 17 00:00:00 2001 From: Kirill Karsakov <159456216+Th1ef0@users.noreply.github.com> Date: Thu, 3 Jul 2025 00:26:13 +0300 Subject: [PATCH 5/7] Add files via upload --- content/docs/2025/ProjectOR/week4.md | 106 +++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 content/docs/2025/ProjectOR/week4.md diff --git a/content/docs/2025/ProjectOR/week4.md b/content/docs/2025/ProjectOR/week4.md new file mode 100644 index 000000000..2fc83bdf5 --- /dev/null +++ b/content/docs/2025/ProjectOR/week4.md @@ -0,0 +1,106 @@ +--- +title: "Week #4" +--- + +# **Week #4** + +## Testing and QA + +#### By level of testing +1. Unit Testing +2. Integration Testing +3. Mock Strategy + +##### Frontend Testing Infrastructure +- **Vitest** configuration with jsdom environment +- **Global test setup** with mocked localStorage and environment variables +- **Test scripts** in package.json for running tests in different modes +- **Path aliases** support for clean imports in tests + +### Evidence of test execution + +### Frontned +[Frontend Test Action](https://github.com/IU-Capstone-Project-2025/ProjectOR/actions/workflows/frontend-test.yml) +![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/images/frontend_test_cicd.png?raw=true) +![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/images/frontend_tests_results.png?raw=true) + +### Backend +[Backend Test Action](https://github.com/IU-Capstone-Project-2025/ProjectOR/actions/workflows/backend_prod.yml) +![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/images/backend_tests_results.png?raw=true) + +## CI/CD + +We used `render.com` as a primary cloud-based platform for deploying and hosting our code. Also, we used GitHub actions as a CI/CD tool. One of the most tough challenge was to deploy frontend with environment variables. We overcame that using first build then deploy method. + +### Links to CI/CD configuration files + +[backend develop](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/.github/workflows/backend-develop.yml) \ +[backend prod](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/.github/workflows/backend_prod.yml) \ +[frontend develop](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/.github/workflows/frontend-develop.yml) \ +[frontend test](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/.github/workflows/frontend-test.yml) \ +[frontend prod](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/.github/workflows/frontend_prod.yml) \ +[migrate](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/.github/workflows/migrate.yml) + +## Deployment + +### Staging + +For staging environment we use render.com, we have github actions triggers +(`backend develop` and `frontend develop` pipelines). These helps create preview environments of services, +these actions trigger on creating PR to the main branch, so we can preview all changes without redeploying +the production build. + +[backend dev](https://projector-backend-dev.onrender.com) +[frontend dev](https://frontend-develop-132n.onrender.com) + +### Production +For production we also use render.com. Deploy pipelines triggers on push to the `main` branch + +[frontend](https://projector-1.onrender.com) +[backend](https://projector-bp8n.onrender.com) + +## Vibe Check + +The team is on track with current goals and deliverables. Milestones are being met as planned, and overall velocity is consistent. No major blockers have been reported. + +No critical roadblocks at the moment. Minor issues are being handled within the team without escalation. We’re maintaining good communication to catch any potential risks early. + +# Weekly commitments + +## Individual contribution of each participant + +**Timur Nabiullin**: +- Configured platform for application deployment and host +- Wrote CI/CD workflows +- Fetched user feedback of our application + +**Almaz Andukov**: +- Added a schema for changing the role +- Added /api/user/set-role to change the role of the current user +- Changed the user model in the database, added a role column (Enum) +- Added unit tests for the project router +- Added unit tests for the project service + +**Nikita Timofeev**: +- Working on the MVP v1 redesign +- Added unit tests in the frontend side +- Added integration tests in the frontend side +- Implemented CI/CD action for the frontend + +**Kirill Karsakov**: +- Wrote a report +- Added new tasks to task board + +## Plan for Next Week + +- Conduct usability testing sessions +- Share your deployed application and solicit feedback +- Create new issues/user stories in the backlog for improvements and bug fixes +- Implement changes based on feedback +- Optimize performance where needed + +## 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`). \ No newline at end of file From 1e9614b45ac0f68d54e2998b49cd03001e17e437 Mon Sep 17 00:00:00 2001 From: Kirill Karsakov <159456216+Th1ef0@users.noreply.github.com> Date: Thu, 10 Jul 2025 01:49:24 +0300 Subject: [PATCH 6/7] Add files via upload --- content/docs/2025/ProjectOR/week5.md | 162 +++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 content/docs/2025/ProjectOR/week5.md diff --git a/content/docs/2025/ProjectOR/week5.md b/content/docs/2025/ProjectOR/week5.md new file mode 100644 index 000000000..1dc5cf8d0 --- /dev/null +++ b/content/docs/2025/ProjectOR/week5.md @@ -0,0 +1,162 @@ +--- +title: "Week #5" +--- + +# **Week #5** + +## Feedback + +### We gave our MVP to customers and asked them to give us feedback and answer questions. The questions we asked, in order: + +- What do you think about the feature that allows using HTML as a project appearance? And what do you think about using AI for auto-generating it? +- What do you think about using Markdown as a project appearance? +- What do you think about AI-generated project tags? + +### Sessions + +#### Customer 1: +All's good, but why can random team members spam projects? I think only trusted leads should be able to start projects. + +- This idea is absolutely terrible. There are a lot of vulnerabilities with HTML code and tags. I think you can't ensure that someone won't just add a malicious link or script. And editing the HTML code for changing project appearance will overcomplicate project management—it will be better to make your product as easy-to-use as possible (in my opinion). +- Sounds better, but use widespread formats, like .md files. +- Cool idea! And please, implement it as an additional feature with the ability to regenerate tags. + +#### Customer 2: +In my opinion, it will be good to add a color (theme) switching button. I personally like working on the same site with a dark theme at night and a light theme during the day. + +- I don’t know, HTML sounds hard. +- Yeah, if it's optional, I think it’s very nice. +- Good. + +#### Customer 3: +It would be good if I could identify team members by their unique ID in their profile link. Also, add the ability to invite by those links. + +- NO. Just no. HTML is for developers, not regular users. The last thing I need is teammates breaking layouts with hacked-together code. +- Simple formatting like headers and lists is really helpful. +- 10/10 – would save me some time for project setup. + +#### Customer 4: +I think users should be able to change colors on the site. + +- A security nightmare waiting to happen. My company would block this feature immediately. +- Love it, especially if it supports code formatting. +- A game-changer for saving time. + +#### Customer 5: +The project is now looking raw, but I think the idea is good. In my opinion, you should focus on the main functionality instead of adding a lot of unusable features. + +- Terrible UX. 95% of users will just want clean templates, not code wrestling. +- Yes, but only if the editor has a live preview pane. +- It will also be good if it learns from existing tag patterns. + +#### Customer 6: +In my experience, role architecture makes the key difference between platforms. As soon as your goal (at least one of them) is to help build teams with random people, only the project founder should have access to inviting or kicking out members or managing project settings. + +Absolutely not. This isn’t 1995. +Useful, but keep it simple. +Would help non-native English speakers with proper tagging. + +#### Customer 7: +Add a footer to the main page. + +Smells like a "Why was bank data leaked after visiting your website?!?!?!" +Good for README-style descriptions. +Tagging is my least favorite part of project setup; it would be nice. + +#### Customer 8: +I think you are on the right path; keep going :) + +Love it. Everyone with a unique design sounds awesome. +Ideal for proper noting. +Sounds useful; good if you implement it. + +#### Customer 9: +I personally love the idea of having Markdown as a description; I don’t know why only GitHub/GitLab uses it. + +Sounds interesting. +Good, I think you must implement it. It will be like your key feature. +Yes, but needs manual override. + +#### Customer 10: +I like the minimalism style, auth also simple and good. + +Laughs in cybersecurity. +Yeah, maybe. +Not sure. + +### Analyze + +- Abandon the idea of using HTML for styling due to the complexity of writing for clients and possible security issues +- Use Markdown as a formatting method because it is simple and clear +- Add AI tag generation with training on already entered tags. +- Only the project founder or trusted participants should manage access and structure + +## Iteration & Refinement + +### Implemented features based on feedback + +- Now only a person with the founder role can create a project. +- Added the ability to change the theme on the site +- Updated main page + +### Performance & Stability + +Our application demonstrates a high level of performance: + +Fast loading, + +Stable interface, + +Instant response. + +There are no bottlenecks or reasons for optimization at the interface level. + +![](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/images/performance.jpg?raw=true) + +### Documentation + +We have md files in our project with instructions for launching the frontend and backend. There is also autodocumentation for the API + +# Weekly commitments + +## Individual contribution of each participant + +**Timur Nabiullin**: +- Conducted interviews with clients +- Found the main points of all clients' wishes and wishes +- Distributed priorities to each task + +**Almaz Andukov**: +- Add functionality to create projects only for founder +- Add models: Applications and ProjectMemebers +- Add route to apply for a project +- Add route to get new applications for a project +- Add route to get all applications for a project +- Add route to approve application +- Edit project model to have more fields + +**Nikita Timofeev**: +- Created new landing page +- Created project description page +- Add role selection window +- Add updated project creation window +- Implemented profile page + +**Kirill Karsakov**: +- Wrote a report +- Added new tasks to task board + + +## Plan for Next Week + +- Complete any remaining high-priority features or bug fixes +- Conduct thorough final testing +- Code Freeze: Announce a code freeze date, after which only critical bug fixes are allowed +- Develop presentation slides covering +- Ensure README.md is comprehensive: project overview, features, tech stack, setup instructions, deployment link + +## 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`). \ No newline at end of file From 4d14c5de5b548f49ffc2e0024b4940829beb3bb5 Mon Sep 17 00:00:00 2001 From: Kirill Karsakov <159456216+Th1ef0@users.noreply.github.com> Date: Thu, 17 Jul 2025 02:08:08 +0300 Subject: [PATCH 7/7] Add files via upload --- content/docs/2025/ProjectOR/week6.md | 109 +++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 content/docs/2025/ProjectOR/week6.md diff --git a/content/docs/2025/ProjectOR/week6.md b/content/docs/2025/ProjectOR/week6.md new file mode 100644 index 000000000..cd223c518 --- /dev/null +++ b/content/docs/2025/ProjectOR/week6.md @@ -0,0 +1,109 @@ +--- +title: "Week #6" +--- + +# **Week #6** + +## Links + +*Specify here all the necessary links to your website, application installer, final demo, etc.* + +- **Deployment**: [link](https://projector-1.onrender.com) +- **API Docs**: [link](https://projector-bp8n.onrender.com/docs) +- **Design**: [link](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design/low-fi.fig) +- **Demo**: [link](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/design) + +## Final deliverables + +### Project overview + +**Key Features:** +- User Registration and Authentication: Secure access to the system through credential-based login. +- Role Selection: Users can choose their role in the system, such as founder or developer. +- Project Creation: Founders can create and manage their own projects. +- Tagging System: Tags can be generated and associated with projects for categorization and filtering. +- Join Requests: Developers can send requests to join projects created by founders. + +**Problems Solved:** +- Unstructured Team Collaboration: The system introduces role-based access (founder, developer), which allows for organized collaboration within projects. +- Lack of Project Ownership Control: Only users with the founder role can create projects, ensuring a clear hierarchy and ownership model. +- Difficulty in Developer Onboarding: Developers can send structured join requests to participate in projects, streamlining team formation. +- Unorganized Project Classification: The tagging functionality allows projects to be categorized and filtered, improving discoverability and organization. +- Authentication Gaps: User registration and login ensure that access is controlled and secure. + +### Features + +- registration and authentication added +- the ability to select a role was added +- the ability to create a project for the founder was added +- tag generation functionality for the project was implemented +- requests for joining the project for developers were created + +### Tech stack + +This project uses JavaScript Svelte for frontend (UI + static), Python FastApi for backend, GithubActions + Render as CI/CD tools + +### Setup instructions + +Before running, you need to create and fill variables `backend/app/.env` file. An example of such a file is located in `backend/app/.env.example`. + +Prerestiques: for launching this project locally docker must be installed and docker daemon launched. For launching it's needed to type this command: + +```bash +docker compose up --build +``` +Then open browser with this url: + +``` +http://localhost:80 +``` + +Additionally, backend documentation can be found here: + +``` +http://localhost:8000/docs +``` + +## Presentation draft + +[link](https://github.com/IU-Capstone-Project-2025/ProjectOR/blob/main/docs/ProjectOr.pdf) + +# Weekly commitments + +## Individual contribution of each participant + +**Timur Nabiullin**: +- created draft presentation, +- made final steps in deployment infrastructure + +**Almaz Andukov**: +- Add filtering of projects by tags +- Implement rejection/acceptance of developer's application +- Project closure + +**Nikita Timofeev**: +- implemented an interface for sending an application to a project +- added viewing applications (founder only) +- added func to list of projects filtered by tags +- created a displaying the project status + +**Kirill Karsakov**: +- added functionality for deleting an application to join a team +- added generation of project tags based on the description +- added the ability to delete a project for the CEO +- added functionality for sending feedback when a project is approved +- Wrote a report + +## Plan for Next Week + +- One last run-through of the presentation and demo +- Ensure the demo environment and any required software are working perfectly +- Present project clearly and confidently +- Conduct a smooth live demo of the key functionalities +- Be prepared for a Q&A session + +## 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`). \ No newline at end of file