GithubHelp home page GithubHelp logo

impact-space / app Goto Github PK

View Code? Open in Web Editor NEW
15.0 2.0 2.0 2.46 MB

The core application of Impact Space

Home Page: https://www.impactspace.io

License: GNU Lesser General Public License v3.0

C# 85.35% HTML 7.22% CSS 0.14% JavaScript 7.28%
aspnet-core blazor c-sharp csharp dotnet-core react-native project-management abp-framework aspnetcore dotnet

app's Introduction

.NET Build Last Commit codecov License: GPL v3

๐Ÿš€ Impact Space

Impact Space is here to help you streamline your workflows, keep track of your milestones, and ensure your quests lead to success. Our intuitive platform is designed with your needs in mind, providing you with powerful tools to manage your projects effectively. Our app is built on a robust, secure, and scalable framework, offering multi-tenancy support to accommodate organizations of all sizes. Our goal is to help you stay on track, meet your deadlines, and ultimately achieve your project objectives.

Please note that Impact Space is currently in early development. We appreciate your feedback and contributions as we continue to improve and expand our platform.

Features

With Impact Space, you can:

๐Ÿค Democratically manage projects: Empower your team with a collaborative and democratic approach to managing projects.

๐ŸŽฏ Create and manage milestones: Customize attributes like deadlines, budgets, priority levels, and status types.

๐Ÿ“ Associate objectives or actions: Ensure a clear and organized workflow with each milestone.

๐Ÿ’ฌ Collaborate with team members: Allow for transparent communication and efficient delegation.

๐Ÿ“Š Monitor progress: Receive real-time updates on milestone completion, budget usage, and quest statuses.

Requirements

  • .NET 7 SDK
  • Node.js 18.x
  • Volo.Abp.Cli (ABP CLI)
  • PostgreSQL

ABP Documentation

For additional guidance and best practices when working with the ABP Framework, refer to the ABP Framework Documentation.

Community

Impact Space is an open-source project and we welcome contributions from the community. If you'd like to contribute, feel free to open an issue or create a pull request.

Acknowledgments

A special thanks to ProgCode for their support in making this project possible.

Getting Started

  1. Clone the repository to your local machine.

  2. Install the required tools:

    • Install .NET 7 SDK by following the instructions here.
    • Install Node.js 18.x by following the instructions here.
    • Install ABP CLI by running dotnet tool install -g Volo.Abp.Cli.
    • Install and configure PostgreSQL by following the instructions here.
      • You can also run PostgreSQL in docker. The docker-compose.yml is located in the /etc folder.
  3. Run the following command in the aspnet-core folder to restore the solution:

dotnet restore
  1. Use the ABP CLI to install the required libraries for the Blazor app by running:
abp install-libs --project-path src/ImpactSpace.Core.Blazor/ImpactSpace.Core.Blazor.csproj
  1. Update the appsettings.json files in the ImpactSpace.Core.Blazor and ImpactSpace.Core.DbMigrator projects with the correct PostgreSQL connection string and other configuration settings.

  2. Build the solution by running the following command in the aspnet-core folder:

dotnet build
  1. Run the database migration using the DbMigrator project:
cd src/ImpactSpace.Core.DbMigrator
dotnet run
  1. Start the Blazor app by navigating to the ImpactSpace.Core.Blazor project folder and running:
cd ../ImpactSpace.Core.Blazor
dotnet run
  1. Open a web browser and navigate to http://localhost:44380 to access the Impact Space application.

You should now have the Impact Space application running locally on your machine.

  1. Log in with this default username and password:
  username: admin
  password: 1q2w3E*

License

This project is licensed under the GNU Lesser General Public License v3.0. See the LICENSE file for more information.

app's People

Contributors

beriniwlew avatar msoler8785 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

vidur msoler8785

app's Issues

Implement "Challenges" for Organizations and Organization Members

Description:

In Milestone 1, we want to develop the "Challenges" feature to represent issues that organizations address and issues that organization members actively work towards resolving. This will help organizations and members showcase their focus areas and create a better understanding of their goals and values.

Requirements:

  • 1. Create a Challenge model with the following attributes:

  • Id (Guid)

  • Name (String) (required, max length: 54)

  • 2. Create a many-to-many relationship between Challenge and Organization using an intermediary table

OrganizationChallenge with the following attributes:

  • OrganizationId (Guid)

  • Organization (Organization)

  • ChallengeId (Guid)

  • Challenge (Challenge)

  • 3. Create a many-to-many relationship between Challenge and OrganizationMember using an intermediary table OrganizationMemberChallenge with the following attributes:

  • OrganizationMemberId (Guid)

  • OrganizationMember (OrganizationMember)

  • ChallengeId (Guid)

  • Challenge (Challenge)

  • 4. Develop Host Challenge Management

  • 5. Develop a UI for organizations to:

  • Add, edit, and remove challenges associated with their organization

  • View challenges associated with their organization

  • 6. Develop a UI for organization members to:

  • Add, edit, and remove challenges associated with their profile

  • View challenges associated with their profile

  • 7. Implement backend logic to handle CRUD operations for challenges.

Acceptance Criteria:

  • Challenge model is created with the required attributes.
  • Many-to-many relationships are established between Challenge and Organization, and Challenge and OrganizationMember.
  • Organizations can add, edit, and remove challenges associated with their organization.
  • Organization members can add, edit, and remove challenges associated with their profile.
  • Backend logic handles CRUD operations for challenges.

Notes:

Please ensure that the UI design is consistent with the overall application design.
Make sure to properly handle user permissions when allowing access to challenges.
Don't forget to write tests to verify the implemented functionality.

Create a Setup Wizard for New Organizations

Description:

For Milestone 1, we want to create a setup wizard for organizations (tenants) to configure their organization profiles when they first log in. This will help organizations set up their profiles more efficiently and provide them with a guided onboarding experience.

Requirements:

  1. Develop a multi-step setup wizard that guides organizations through the process of configuring their profiles.
  2. Include the following steps in the wizard:
    • Basic information (organization name, description, etc.)
    • Organization logo and branding (upload logo, select primary color, etc.)
    • Organization members (invite members, assign roles, etc.)
    • Challenges (define issues that organizations address and issues that organization members actively work towards resolving)
  3. Implement backend logic to handle the saving of organization profile configurations.
  4. Provide a summary page for organizations to review their settings before finalizing their profiles.

Acceptance Criteria:

  • A multi-step setup wizard is created to guide organizations through the profile configuration process.
  • The wizard includes steps for basic information, logo and branding, organization members, skills and skill groups, and challenges.
  • Backend logic is implemented to handle the saving of organization profile configurations.
  • A summary page is provided for organizations to review their settings before finalizing their profiles.

Notes:

  • Please ensure that the UI design is consistent with the overall application design.
  • Make sure to properly handle user permissions when allowing access to organization profile configurations.
  • Don't forget to write tests to verify the implemented functionality.

Move "Global Types" to Administration menu

Currently, we are displaying the Skill and Skill Group Management as it's own menu on the non-tenant side.

I think we should move it to the Administration menu, as it seems more appropriate there.

Implement Organization Member Profiles with Associated Skills

Description:

As a part of Milestone 1, we need to develop organization member profiles that display information about individual members and their skills. This feature will help organizations better understand the expertise of their members and facilitate the assignment of appropriate tasks and responsibilities.

Data Model:

OrganizationMember : AuditedAggregateRoot, IMultiTenant

  • Id (Guid)
  • Name (String) (required, max length: 128)
  • Profile Picture (Attachment)
  • OrganizationMemberActivities (ICollection)
  • Projects (ICollection)
  • AppUserId (Guid?) (Based on AppUser Id)
  • Skills (ICollection)
  • Organization (Organization)
  • TenantId (Guid)

Requirements:

  1. Update the OrganizationMember model with the provided data model attributes.

  2. Develop a UI for organization members to:

  • View their own profile information
  • Edit their own profile information (excluding skills)
  • Add, edit, and remove skills associated with their profile
  • View profiles of other organization members (based on permissions)
  1. Implement backend logic to handle CRUD operations for organization member profiles and skills.

Acceptance Criteria:

  • - Organization member profiles are created with the required attributes from the provided data model.
  • - Organization members can view and edit their own profiles.
  • - Organization members can add, edit, and remove skills associated with their profile.
  • - Organization members can view profiles of other organization members (based on permissions).
  • - Backend logic handles CRUD operations for organization member profiles and skills.

Notes:

  • Please ensure that the UI design is consistent with the overall application design.
  • Make sure to properly handle user permissions when allowing access to member profiles.
  • Don't forget to write tests to verify the implemented functionality.
  • Since the Skill and SkillGroup models are already implemented, make sure to use them as needed.

Implement Organization Profiles

Description:

As a part of Milestone 1, we need to develop features for organization profiles. The organization profile should include basic information and customization options using the ABP Framework.

Tasks:

  • Create a database model for organization profiles using the ABP Framework's Entity Framework Core integration
  • Implement the application services for creating, updating, and deleting organization profiles using the ABP Framework's best practices
  • Design the UI for organization profile creation, editing, and viewing using the ABP Framework's UI components
  • Implement customization options, such as logos and color schemes
  • Ensure proper validation and error handling for organization profile data using the ABP Framework's validation system
  • Test the organization profile functionality and fix any issues

Acceptance Criteria:

  • Users can create, edit, and view organization profiles
  • Organization profiles include basic information and customization options
  • Proper validation and error handling are in place using the ABP Framework's features

Implement Tags for Projects

Description:

In Milestone 1, we want to implement a tagging system for projects. This will allow organizations to categorize their projects more effectively and help users discover and explore projects based on their interests.

Requirements:

  1. Create a Tag model with the following attributes:
  • Id (Guid)
  • Name (String) (required, max length: 128)
  1. Create a many-to-many relationship between Tag and Project using an intermediary table ProjectTag with the following attributes:
  • ProjectId (Guid)
  • Project (Project)
  • TagId (Guid)
  • Tag (Tag)
  1. Develop a UI for organizations to:
  • Add, edit, and remove tags associated with their projects
  • View tags associated with their projects
  1. Implement backend logic to handle CRUD operations for tags.

Acceptance Criteria:

  • Tag model is created with the required attributes.
  • Many-to-many relationships are established between Tag and Project.
  • Organizations can add, edit, and remove tags associated with their projects.
  • Backend logic handles CRUD operations for tags.

Notes:

  • Please ensure that the UI design is consistent with the overall application design.
  • Make sure to properly handle user permissions when allowing access to tags.
  • Don't forget to write tests to verify the implemented functionality.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.