Skip to content

Project-Stage-Academy/UA-4252-Python-FS

Repository files navigation

Forum-Project-Stage-CC

CI

codecov

Forum Project Stage CC Template Repo

Project Vision Statement:

"Empowering Innovation: Bridging Startups and Investors for Ukraine's Economic Growth"

Overview:

In the dynamic world of entrepreneurship, the path from a transformative idea to a successful venture is often complex and challenging. Our WebAPI application, developed using the Django Rest Framework, is designed to be a cornerstone in simplifying this journey. We aim to create a robust and secure digital platform that caters to two pivotal groups in the business ecosystem: innovative startups with compelling ideas and forward-thinking investors seeking valuable opportunities.

Goals:

  1. Fostering Collaborative Opportunities: Our platform bridges startups and investors, enabling startups to showcase their groundbreaking proposals and investors to discover and engage with high-potential ventures.

  2. Seamless User Experience: We prioritize intuitive navigation and interaction, ensuring that startups and investors can easily connect, communicate, and collaborate.

  3. Secure and Trustworthy Environment: Security is at the forefront of our development, ensuring the confidentiality and integrity of all shared information and communications.

  4. Supporting Economic Growth: By aligning startups with the right investors, our platform not only cultivates individual business success but also contributes significantly to the growth and diversification of Ukraine's economy.

Commitment:

We are committed to delivering a platform that is not just a marketplace for ideas and investments but a thriving community that nurtures innovation fosters economic development, and supports the aspirations of entrepreneurs and investors alike. Our vision is to see a world where every transformative idea has the opportunity to flourish and where investors can confidently fuel the engines of progress and innovation.

image

Basic Epics

  1. As a user of the platform, I want the ability to represent both as a startup and as an investor company, so that I can engage in the platform's ecosystem from both perspectives using a single account.

    • Features:
      • implement the functionality for users to select and switch roles.
  2. As a startup company, I want to create a profile on the platform, so that I can present my ideas and proposals to potential investors.

    • Features:
      • user registration functionality for startups.
      • profile setup page where startups can add details about their company and ideas.
  3. As an investor, I want to view profiles of startups, so that I can find promising ideas to invest in.

    • Features:
      • feature for investors to browse and filter startup profiles.
      • viewing functionality for detailed startup profiles.
  4. As a startup company, I want to update my project information, so that I can keep potential investors informed about our progress and milestones.

    • Features:
      • functionality for startups to edit and update their project information.
      • system to notify investors about updates to startups they are following.
  5. As an investor, I want to be able to contact startups directly through the platform, so that I can discuss investment opportunities.

    • Features:
      • secure messaging system within the platform for communication between startups and investors.
      • privacy and security measures to protect the communication.
  6. As a startup company, I want to receive notifications about interested investors, so that I can engage with them promptly.

    • Features:
      • notification functionality for startups when an investor shows interest or contacts them.
      • dashboard for startups to view and manage investor interactions.
  7. As an investor, I want to save and track startups that interest me, so that I can manage my investment opportunities effectively.

    • Features:
      • feature for investors to save and track startups.
      • dashboard for investors to manage their saved startups and investment activities.

Additional Features

  • Security and Data Protection: Ensure that user data, especially sensitive financial information, is securely handled.

  • User Feedback System: Create a system for users to provide feedback on the platform, contributing to continuous improvement.

  • Analytical Tools: Implement analytical tools for startups to understand investor engagement and for investors to analyze startup potential.

Agile Considerations

  • Each user story can be broken down into smaller tasks and developed in sprints.
  • Regular feedback from both user groups (startups and investors) should be incorporated.

Running Locally with Docker

Follow the steps below to run the application locally using Docker and Docker Compose.

0. Prerequisites

Before you begin, make sure you have:

  • Docker and Docker Compose installed on your system.
  • A properly configured environment file .env according to file env.template inside the backend/ directory.

1. Build the containers

Run the following command to build all Docker services: docker-compose up --build --remove-orphans.

To run containers in the background: docker-compose up --build -d --remove-orphans.

2. Access the application

Once the build is complete, you can access:

3. Running Django management commands

You can execute Django management commands inside the backend container, for example:

  • docker-compose run --rm backend python manage.py makemigrations
  • docker-compose run --rm backend python manage.py migrate
  • docker-compose run --rm backend python manage.py createsuperuser

CI/CD Workflow

This project uses GitHub Actions for Continuous Integration. The workflow runs for every pull request to the develop and main branches and includes two jobs:

  • backend: Lints the code and runs tests for the Django application.
  • frontend: Installs dependencies and builds the frontend application.

How to Read CI Logs

  1. Open the Pull Request on GitHub.
  2. Scroll down to the Checks section.
  3. If the workflow fails, you will see a red 'X'. Click on the Details link next to the failing job (e.g., backend or frontend).
  4. This will open the logs. Expand the step that failed (e.g., Lint (flake8) or Tests) to see the detailed error message.
  5. To view build artifacts, go to the 'Artifacts' section under the job summary. (available only for frontend)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors