dotnet-foundation / projects

This repository is used for onboarding new projects
111 stars 30 forks source link

Project Proposal Acceptance For "ASP.NET-ReactJS-Template" #135

Open Rubix982 opened 3 years ago

Rubix982 commented 3 years ago

1.   General Information

Project Name: ASP.NET ReactJS Template

License: MIT

Contributor (Company, Organization or individual name(s)): Rubix982 - Saif Ul Islam ( individual )

Existing OSS Project? (Yes/No): Yes

Source Code URL: https://github.com/Rubix982/ASP.NET-ReactJS-Template/

Project Homepage URL (if different): https://github.com/Rubix982/ASP.NET-ReactJS-Template/

Project Transfer Signatories: Saif Ul Islam ( saifulislam84210@gmail.com ) Full legal name and email address required of the individual(s) with the authority to transfer or contribute the project to the .NET Foundation. Note that if you'd prefer not to include this in the public application, it can be submitted via e-mail to contact@dotnetfoundation.org (referencing this issue number).

2.   Description

Please provide a brief statement about your project in terms that are understandable to the target consumer of the library or project, i.e. an elevator pitch for the project: Most people looking to get started with a certain piece of new technology aren't sure of how to build large scale projects with it, nor know how to settle for a file structure for their team, and thus they go and look for already existing templates and ideas and seeing what they can pick from. But more often than not, there are projects with little to no documentation about the whole of the project, and even scarier is wasting precious time trying to understand code that the author has not really documented, nor provided an overview of how they are structured. If a template is then given with exactly the information about how to add changes, and what components affect other components, let's on, on the Frontend side of the template it became quickly a piece of cake to know how to utilize an already powerful setup to your advantage and need.

Or maybe how the build process takes place, and how to introduce changes that suit you over there. Most experienced devs would not need this, but on the other hand, this can be very useful for new beginners that want a fully integrated basic project template to start with, so they don't waste time just setting things up, and are quickly ready to get going.

This project thus wants to fully automate, structure, and organize all parts of a software engineering project, so a powerful beginner base is ready that you just need to focus on for the coding and development process, and not worry about writing mundane boiler plate code.

Please provide a 1 sentence (<140 character) summary of your project to help users when searching the .NET Foundation projects A project template, with a ReactJS frontend, an ASP.NET Core 5.0 backend, with building, testing, deploying, with documentation

3.   Project Governance

Please complete this section about who will be maintaining the open source project and how it will run. Project Lead: Rubix982 (Who is the primary contact point for the community and the .NET Foundation when discussing governance of the project.)

Name: Rubix982 ( Saif Ul Islam ) Email: saifulislam84210@gmail.com GitHub Profile URL: https://github.com/rubix982

Committers: Rubix982 ( individual, not an employee )

Which individuals have commit / write access to the repository, what is their GitHub ID and who is their employer (if contributions are on behalf of an employer)

Governance Model: Depending on the level of proposals, for example, the community can engage in the discussions tab for the project if they wish to propose something new, they can either open up issues that they think they can describe well and if someone is willing, they can make a pull request with fully integrated security checks to make sure nothing is being violated, and the review for that is made there. The roadmap for the project is under the projects tab, which contains one section that is dedicated to the actual code base, the whole application, while the other is solely for the documentation, if changes are to be introduced over there.

Please describe how new code changes are proposed to the project, how those changes are reviewed and how a decision is made to accept proposed changes. Also describe the process for identifying and appointing new committers.

CLA

There is a current CLA in place - but I'm lost as how to configure and connect it with the project at the moment.

If already an OSS project, was a Contribution License Agreement in place for contributions accepted? How does the project check who has signed one?

CLA Notification Alias

saifulislam84210@gmail.com

Provide an email address that will receive CLA related notifications from the .NET Foundation CLA automation

Assignment Model. Under the .NET Foundation assignment model, project ownership and other intellectual property is assigned to the .NET Foundation and the .NET Foundation agrees to grantback a license to the contributor(s).

Contribution Model. Under the .NET Foundation contribution model, a project retains ownership of the project, but grants the .NET Foundation a broad license to the project’s code and other intellectual property. The project also confirms that the project’s submissions to .NET Foundation are its own original work (there are also instructions for any third party materials that might be included).

4.   Repository Layout

The .NET Foundation host guidance for new projects and details on recommended structure here: https://github.com/dotnet/home/tree/master/guidance

Note that the open source repository should be the master where changes are made by the core development team using the same PR process that is used for non-committer contributions.

Please define below any changes you would want to make to your repositories as part of the process of joining the .NET Foundation


There is a need to integrate the CLA within the contributions workflow. I would need help with that.

5. Eligibility Criteria

Please complete the following for your project

6.   PR Plan

Please summarize the public relations plan for the announcement when joining the foundation (and releasing as open source if appropriate). What is the main story we wish to promote, through what channels, what issues should we be aware of?  For significant news events then please also work with your .NET Foundation contact to ensure a full PR plan is developed.


I cannot view the sharepoint slides, but other than that, I have not yet considered a PR Plan for this project - I'm not sure how to market this or promote this. Help and mentorship are needed here. Thank you.

7.   Infrastructure Requirements

Please describe any infrastructure requirements for the project. For example, how will build servers be operated? Any web hosting or service hosting requirements? Do we need to set up SSL certificates or provide Authenticode Code Signing arrangement for releases?


Server deployment shall be handled by Ansible. Currently, there is a desire to add a GCP, Azure, and AWS pipeline to deploy these containers. The server containers will be orchestrated by K8s, organized, and bootstrapped with Ansible. At the moment, it would as simple as providing an exposed IP for a VM on any of the cloud service providers, and pushing the latest built image multi containers to the virtual machine(s). SSL has not yet been considered - just having a select application being hosted for configuration. More thought does need to be given to this, and help/mentorship would be needed here.

8.   Additional Notes

Please provide any additional information required or use this area for notes during the onboarding process. If this open-source project has similarities with any other projects in this space then please detail them and why this project is different. If there are any potential issues that you feel the project might need help with early on then also state them here and discuss with your .NET Foundation Contact.


This project is different from most templates in the sense it aims at being flexible for whatever level of developers approach the platform, and with complete documentation that explains why something is done the way it is, and why is something added in its original place. A guide to walk developers through the whole build process, exposes a larger core on how to manipulate the whole project.

Rubix982 commented 3 years ago

Any suggestions and help would be appreciated! I'm still an undergrad pursuing Computer Science, so I do not have complete domain knowledge for everything, but I would be very happy to learn and grow from advice and ideas.

Thank you! :smile: