diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 699ed73..b47f692 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["biomejs.biome"] + "recommendations": ["biomejs.biome", "Prisma.prisma"] } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..d9d07c7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,118 @@ +# Contributing To Compa + +Hey! Thanks for considering contributing to Compa. As you already know, Compa is an open-source project and relies on contributions from people like _you_ to function. + +Pull requests, bug reports or documentation updates (and all other forms of contributions) are welcome. + +## Content + +- [Code of Conduct](#code-of-conduct) +- [Bug Reports](#bug-reports) +- [Feature Requests](#feature-requests) +- [School Requests](#school-requests) +- [Pull Requests](#pull-requests) +- [Writing Good Commit Messages](#writing-good-commit-messages) +- [Credits](#credits) + +## Code of Conduct + +Similar to other open-source communities, we have a [Code of Conduct](https://compa.so/code-of-conduct) which we expect all contributors to follow. In simple terms, don't be an asshole, it will not be tolerated. + +## Bug Reports + +If you find a bug, please open an issue with the title: `Bug: `. Make sure to include the following: + +- A clear and descriptive title +- A detailed description of the bug +- Steps to reproduce the bug +- What you expected to happen +- What actually happened + +If you can, include screenshots or videos of the bug. This will help us understand the issue better. + +## Feature Requests + +Before you make a feature request, consider our scope. Compa wants to give higher education students easy access to resources they need. Resources can be lesson notes, communities of people similar to them and so much more. Your idea may be amazing, make sure it's also within scope. + +- Describe how the feature would match our vision +- Include implementation details/ideas if possible +- Search for similar feature requests first and avoid opening duplicates. + +## School Requests + +If you'd like to set up Compa for your school, please create an issue with the title: `School Request: `. + +## Pull Requests + +It's best to open an issue to discuss the changes or your intended approach for an existing issue. Afterwards, you can link the PR and issue. If you submit a large PR without prior communication, it's unlikely to be accepted. + +### Pull Request Tips + +- **Keep PRs small and focused**. A PR per feature or fix is best. Don't refactor or change code unrelated to your issue. Enormous PRs may be rejected. + +- **Prefer simple code over clever code**. Unless the cleverness is required, in that case, add a comment explaining **why** and **what** the code does. + +- **Add tests when possible**. Follow the existing patterns for tests. + +- **Use the recommended formatter**. We've already setup a formatting style as well as recommended extensions to use. Use what is setup. + +- **Resolve merge conflicts**. + +- **Fix CI/CD failures ASAP**. PRs that cause build failures or fail tests will be rejected. + +### PR Flow + +1. Fork the repository and clone it to your local machine +2. Create a new branch with a descriptive name +3. Make your changes +4. Push your changes to your fork +5. Open a PR + +## Writing Good Commit Messages + +![(https://xkcd.com/1296/)](https://imgs.xkcd.com/comics/git_commit.png) + +Please write a good commit message. Follow these guidelines: + +1. Separate subject from body with a blank line +2. Limit the subject line to 50 characters +3. Capitalize the subject line +4. Do not end the subject line with a period +5. Use the imperative mood in the subject line (example: "Fix networking issue"). +Imperative means the message should sound like a command. +6. Wrap the body at about 72 characters +7. Use the body to explain why, not what and how (the code shows that!) + +A good subject line would complete this sentence: + +`If applied, this commit will ` + +**Example:** + +```plaintext + +Add CONTRIBUTING.md + +Add a more detailed explanation here, if necessary. + +Wrap the body to about 72 characters. It's easier to read. Also, +ensure there's a blank line between subject and body. + +Explain what the commit is solving and *why*. The why helps reviewers +and future you understand the reasoning behind the changes. + +- Bullet points are fine. + +- Use a hyphen and keep a blank line between bullets. +``` + +For more info, read [this.](https://cbea.ms/git-commit/) + +## Credits + +Written by [@henrychris](https://github.com/henrychris). +These were the main inspirations for this document: + +- [jessesquires](https://github.com/jessesquires/.github/blob/main/CONTRIBUTING.md) +- [moby](https://github.com/moby/moby/blob/master/CONTRIBUTING.md) +- [auth0](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md) diff --git a/README.md b/README.md index 7283d32..8ab1764 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,8 @@ yarn dev:client ## Contributing -Contributions are always welcome! We don't have a code of conduct right now, but we will soon! +Contributions are always welcome! Please read the [contribution guidelines](CONTRIBUTING.md) first. +Also, please adhere to the [code of conduct](https://compa.so/code-of-conduct). ## Roadmap diff --git a/website/src/home/content/about.md b/website/src/home/content/about.md new file mode 100644 index 0000000..6b5e6d1 --- /dev/null +++ b/website/src/home/content/about.md @@ -0,0 +1,15 @@ +# About + +Compa is an open initiative to promote collaboration and knowledge sharing among students at higher education institutions. + +As a fresher, settling into school could be easier. You usually need to find: + +- Communities/Clubs you are interested in +- Semester timetables +- Resources from past semesters + +For continuing students, it's just as hard to find documents or class notes when conversations are scattered across multiple platforms. + +Being a student is hard enough, we know. That's why Compa aims to be the go-to resource for higher education institutions and save you from one source of stress. + +Your open, compact, companion and compass. That is _Compa_. diff --git a/website/src/home/content/code-of-conduct.md b/website/src/home/content/code-of-conduct.md new file mode 100644 index 0000000..40c8d57 --- /dev/null +++ b/website/src/home/content/code-of-conduct.md @@ -0,0 +1,55 @@ +# Code of Conduct + +Compa aims to provide resources to students across the world. The information on Compa is provided by our users, and we want to ensure that everyone feels welcome and included. This code applies to everyone in our community, across all platforms. + +This is not an exhaustive list but instead a guideline for you. Use your best judgement and consider the impact of your actions on others, and the community as whole as you use Compa. + +- Be friendly. +- Be patient. +- Be welcoming. +- Be considerate. +- Assume good intentions. +- Choose your words carefully. +- Be respectful. + +The following are not tolerated: + +- The use of sexualized language or imagery, and sexual attention or + advances of any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email + address, without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting +- Uploading incorrect or misleading information +- Using the platform to promote or sell products or services + +## Enforcement Responsibilities + +Moderators are responsible for clarifying and enforcing our code of conduct and will take appropriate and fair corrective action in response to any behaviour that they deem inappropriate, threatening, offensive, or harmful. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behaviour may be +reported to the moderators responsible for enforcement at the Compa Discord server: +. + +All complaints will be reviewed and investigated promptly and fairly. Moderators are obligated to respect the privacy and security of the reporter of any incident. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +. Translations are available at +. + +Credit is also given to the [Django Code of Conduct](https://www.djangoproject.com/conduct/). diff --git a/website/src/home/content/contributing.md b/website/src/home/content/contributing.md new file mode 100644 index 0000000..1bd8089 --- /dev/null +++ b/website/src/home/content/contributing.md @@ -0,0 +1,34 @@ +# Contributing To Compa + +Hey! Thanks for considering contributing to Compa. As you already know, Compa is an open-source project and relies on contributions from people like _you_ to function. + +Whether code or lesson notes or a helpful comment in a discussion thread, **all** contributions are welcome. + +## Code of Conduct + +Similar to other open-source communities, we have a [Code of Conduct](https://compa.so/code-of-conduct) which we expect all contributors to follow. In simple terms, don't be an asshole, it will not be tolerated. + +## Crowdsourcing Ethics + +We want to ensure that all the content on Compa is of the highest quality. We expect all contributors to follow these guidelines: + +- **Be respectful**: We're all here to learn and help each other. Please be respectful to everyone. +- **Be accurate**: Ensure that the information you're providing is accurate and up-to-date. +- **Be helpful**: If you're contributing to a discussion, ensure that your comments are helpful and add value to the conversation. +- **Be original**: If you're contributing code, ensure that it's your own work and not copied from somewhere else. In the event that you must use someone else's work, ensure that you have the necessary permissions to do so and give credit. + +Note that repeated violations of these guidelines will result in a ban from the platform. + +## Types of Contributions + +There are many ways to contribute to Compa. Here are a few examples: + +- **Lesson Notes**: If you're a student and have notes from your classes, you can contribute them to Compa. This will help other students who are studying the same subject. +- **Code**: If you're a developer, you can contribute code to Compa. This could be a new feature, a bug fix, or even a typo correction. +- **Documentation**: If you're good at writing, you can contribute to the documentation. This could be a new guide, a tutorial, or even a correction to an existing document. +- **Discussion**: If you're not a developer or a writer, you can still contribute by participating in discussions. You can help answer questions, provide feedback, or even just say hi. +- **Design/Art**: If you're a designer or an artist, you can contribute by suggesting new designs or art for the platform. This could be a new logo, UI design, or even a new color scheme. The possibilities are endless. + +## Code Contributions + +If you're looking to contribute code, please check out our [GitHub repository](https://github.com/blackmann/compa). Check out the issues tab to see if there's anything you can help with. If you're looking to add a new feature, please open an issue first to discuss it with the maintainers. diff --git a/website/src/home/content/faq.md b/website/src/home/content/faq.md new file mode 100644 index 0000000..c0cfb9f --- /dev/null +++ b/website/src/home/content/faq.md @@ -0,0 +1,13 @@ +# Frequently Asked Questions + +## I can't create an account on Compa + +Compa only supports a few schools at the moment. This means only emails from those schools are allowed to create accounts on their subdomains. If your want your school to be added, please create an issue on our GitHub [repo](https://github.com/blackmann/compa) with the title: `School Request: `. + +## How do I contribute to Compa? + +Thanks for your interest in contributing to Compa! Please read the [contribution guidelines](https://compa.so/contributing) first. + +## How do I set up Compa for my school? + +If you'd like to set up Compa for your school, please create an issue on our GitHub [repo](https://github.com/blackmann/compa) with the title: `School Request: `. diff --git a/website/src/home/content/privacy-policy.md b/website/src/home/content/privacy-policy.md new file mode 100644 index 0000000..34c3e3e --- /dev/null +++ b/website/src/home/content/privacy-policy.md @@ -0,0 +1,29 @@ +# Privacy Policy + +Compa takes your privacy seriously. To better protect your privacy we provide this privacy policy notice explaining the way your personal information is collected and used. + +## Collection of Routine Information + +This website track basic information about their users. This information includes, but is not limited to, IP addresses, browser details, timestamps and referring pages. None of this information can personally identify a specific user to this website. The information is tracked for routine administration and maintenance purposes. + +## Cookies + +Where necessary, this website uses cookies to store information about a visitor’s preferences and history in order to better serve the user and/or present the user with customized content. + +## Links to Third Party Websites + +We have included links on this website for your use and reference. Links may also be shared by other users in discussions, communities or other places on Compa. We are not responsible for the privacy policies on these websites. You should be aware that the privacy policies of these websites may differ from our own. + +## Security + +The security of your personal information is important to us, but remember that no method of transmission over the Internet, or method of electronic storage, is 100% secure. While we strive to use commercially acceptable means to protect your personal information, we cannot guarantee its absolute security. + +## Changes To This Privacy Policy + +This Privacy Policy is effective as of February 6th 2024, and will remain in effect except with respect to any changes in its provisions in the future, which will be in effect immediately after being posted on this page. + +We reserve the right to update or change our Privacy Policy at any time and you should check this Privacy Policy periodically. If we make any material changes to this Privacy Policy, we will notify you either through the email address you have provided us, or by placing a prominent notice on our website. + +## Contact Information + +For any questions or concerns regarding the privacy policy, please send an email at . diff --git a/website/src/home/content/roadmap.md b/website/src/home/content/roadmap.md new file mode 100644 index 0000000..79678ab --- /dev/null +++ b/website/src/home/content/roadmap.md @@ -0,0 +1,8 @@ +# Roadmap + +We have a lot of features planned for Compa. This will be a living document and will be updated as we add new features and complete existing ones. + +- [x] Timetable: See the lecture schedule for a semester and import it to your calendar. +- [x] Discussions: Ask questions, share ideas and interact with other students. +- [ ] Communities: Find and join groups that interest you. +- [ ] Moderation: Ensure that the platform is safe and welcoming for everyone.