Skip to content

Commit

Permalink
updated full platform to welcome open source contributions 👋
Browse files Browse the repository at this point in the history
  • Loading branch information
HUSAM-07 committed Nov 30, 2024
1 parent b494acd commit ecda7e6
Show file tree
Hide file tree
Showing 10 changed files with 1,927 additions and 70 deletions.
91 changes: 91 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# UniDash Code of Conduct 🤝

## Our Pledge

As students, developers, and contributors of UniDash, created by Mohammed Husamuddin (BITS Pilani Dubai Campus student), we pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

### Positive Behavior Examples ✨

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the BITS Pilani Dubai Campus community
* Showing empathy towards other community members
* Supporting and helping fellow students
* Sharing academic resources responsibly
* Contributing to the improvement of the university experience

### Unacceptable Behavior ⛔

* Using sexualized language or imagery
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information without explicit permission
* Sharing academic materials without proper attribution
* Using the platform for academic dishonesty
* Other conduct which could reasonably be considered inappropriate in an academic setting

## Responsibilities

### Project Maintainers

Project maintainers, led by Mohammed Husamuddin, are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Maintainers have the right and responsibility to:
* Remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions
* Ban temporarily or permanently any contributor for behaviors they deem inappropriate, threatening, offensive, or harmful
* Maintain the academic integrity of the platform

### Contributors and Users

All contributors and users must:
* Adhere to the code of conduct in all project spaces
* Follow university guidelines and policies
* Respect academic integrity
* Report any unacceptable behavior to the project maintainers

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or the BITS Pilani Dubai Campus community.

## Enforcement

### Reporting

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project owner, Mohammed Husamuddin, at [email protected]. All complaints will be reviewed and investigated promptly and fairly.

### Enforcement Guidelines

Project maintainers will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

1. **Correction**
* **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional.
* **Consequence**: A private, written warning providing clarity around the nature of the violation.

2. **Warning**
* **Community Impact**: A violation through a single incident or series of actions.
* **Consequence**: A warning with consequences for continued behavior.

3. **Temporary Ban**
* **Community Impact**: A serious violation of community standards.
* **Consequence**: A temporary ban from any sort of interaction or public communication with the community.

4. **Permanent Ban**
* **Community Impact**: Demonstrating a pattern of violation of community standards.
* **Consequence**: A permanent ban from any sort of public interaction within the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html), version 2.0, and modified for the academic context of BITS Pilani Dubai Campus.

## Contact

* Project Owner: Mohammed Husamuddin
* Email: [email protected]
* Project Repository: [UniDash GitHub Repository](https://github.com/HUSAM-07/AccessX)

---

Remember: UniDash was created by a student for students. Let's work together to make our university experience better! 🎓
211 changes: 211 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
# Contributing to UniDash 🚀

First off, thank you for considering contributing to UniDash! It's people like you that make UniDash such a great tool for BITS Pilani Dubai Campus students.

## 📋 Table of Contents

- [Code of Conduct](#code-of-conduct)
- [Getting Started](#getting-started)
- [Development Workflow](#development-workflow)
- [Pull Request Process](#pull-request-process)
- [Style Guidelines](#style-guidelines)
- [Community](#community)

## 📜 Code of Conduct

This project and everyone participating in it is governed by our [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.

## 🚀 Getting Started

### Development Environment Setup

```mermaid
flowchart LR
A[Fork Repository] --> B[Clone Locally]
B --> C[Install Dependencies]
C --> D[Setup Environment]
D --> E[Start Development]
```

1. **Fork the Repository**
```bash
# Click the 'Fork' button on GitHub
```

2. **Clone Your Fork**
```bash
git clone https://github.com/your-username/unidash.git
cd unidash
```

3. **Install Dependencies**
```bash
npm install
```

4. **Set Up Environment Variables**
```bash
cp .env.example .env.local
# Edit .env.local with your configuration
```

5. **Start Development Server**
```bash
npm run dev
```

## 💻 Development Workflow

### Branch Naming Convention

```mermaid
flowchart TD
A[Branch Types] --> B[feature/]
A --> C[bugfix/]
A --> D[hotfix/]
A --> E[docs/]
B --> F[feature/add-attendance-tracker]
C --> G[bugfix/fix-login-error]
D --> H[hotfix/security-patch]
E --> I[docs/update-readme]
```


- `feature/*`: New features
- `bugfix/*`: Bug fixes
- `hotfix/*`: Critical fixes
- `docs/*`: Documentation changes

### Commit Message Format

```
<type>: <subject>
```

- **Types**: feat, fix, docs, style, refactor, test, chore
- **Scope**: component name, page name, or general area
- **Subject**: short description in present tense
- **Body**: detailed description (optional)
- **Footer**: breaking changes, issue references (optional)

## 🔄 Pull Request Process

```mermaid
flowchart LR
A[Create Branch] --> B[Make Changes]
B --> C[Test Changes]
C --> D[Create PR]
D --> E[Code Review]
E --> F{Approved?}
F -->|Yes| G[Merge]
F -->|No| B
```


1. **Before Creating a PR**
- Update documentation
- Add/update tests
- Run linting: `npm run lint`
- Run tests: `npm run test`

2. **PR Requirements**
- Clear title and description
- Reference related issues
- Screenshots for UI changes
- Updated documentation
- Passing CI checks

3. **Review Process**
- Two approvals required
- All comments addressed
- CI checks passing
- No merge conflicts

## 🎨 Style Guidelines

### Code Style

- Follow TypeScript best practices
- Use ESLint and Prettier configurations
- Follow component structure:
```typescript
// Component structure
import statements
interface definitions
component definition
styles (if any)
exports
```
### Component Guidelines
```mermaid
flowchart TD
A[Component Creation] --> B[Props Interface]
B --> C[Component Logic]
C --> D[JSX Structure]
D --> E[Styling]
E --> F[Testing]
```
- Use functional components with hooks
- Props interface definitions
- Meaningful component names
- Proper component organization
- Consistent styling approach
### Testing Requirements
- Unit tests for utilities
- Component tests for UI
- Integration tests for flows
- E2E tests for critical paths
## 👥 Community
### Getting Help
- Create an issue for bugs
- Discussions for questions
- Pull requests for contributions
- Email for private inquiries: [email protected]
### Communication Channels
- GitHub Issues
- GitHub Discussions
- Project Discord (coming soon)
## 📝 Documentation
- Update README.md for major changes
- Document new features
- Update API documentation
- Add JSDoc comments
## 🔄 Version Control
```mermaid
flowchart LR
A[main] --> B[development]
B --> C[feature branches]
C --> B
B --> A
```
- `main`: Production-ready code
- `development`: Integration branch
- Feature branches: Individual features
## 🚀 Release Process
1. Version bump
2. Changelog update
3. Documentation review
4. Release notes
5. Tag creation
6. Deployment
Thank you for contributing to UniDash! 🎉
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,4 +117,4 @@ F --> G[Production Deploy]

## 🤝 Support

For support, email [email protected] or join our [Discord community](https://discord.gg/unidash).
For support, email [email protected].
10 changes: 9 additions & 1 deletion next.config.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
/** @type {import('next').NextConfig} */
const nextConfig = {};
const nextConfig = {
webpack: (config) => {
config.resolve.fallback = {
fs: false,
path: false,
};
return config;
},
};

export default nextConfig;
Loading

0 comments on commit ecda7e6

Please sign in to comment.