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:
-
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.
-
Seamless User Experience: We prioritize intuitive navigation and interaction, ensuring that startups and investors can easily connect, communicate, and collaborate.
-
Secure and Trustworthy Environment: Security is at the forefront of our development, ensuring the confidentiality and integrity of all shared information and communications.
-
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.
-
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.
- Features:
-
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.
- Features:
-
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.
- Features:
-
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.
- Features:
-
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.
- Features:
-
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.
- Features:
-
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.
- 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.
- 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.
Follow the steps below to run the application locally using Docker and Docker Compose.
Before you begin, make sure you have:
- Docker and Docker Compose installed on your system.
- A properly configured environment file
.envaccording to fileenv.templateinside thebackend/directory.
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.
Once the build is complete, you can access:
- Backend API: http://localhost:8000
You can execute Django management commands inside the backend container, for example:
docker-compose run --rm backend python manage.py makemigrationsdocker-compose run --rm backend python manage.py migratedocker-compose run --rm backend python manage.py createsuperuser
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.
- Open the Pull Request on GitHub.
- Scroll down to the Checks section.
- If the workflow fails, you will see a red 'X'. Click on the Details link next to the failing job (e.g.,
backendorfrontend). - This will open the logs. Expand the step that failed (e.g.,
Lint (flake8)orTests) to see the detailed error message. - To view build artifacts, go to the 'Artifacts' section under the job summary. (available only for frontend)
