Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updating and adding readme and contributing file . issue #1 #36

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 106 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# Contributing to Udayah
Welcome to the Udayah community! 🎉 We’re excited to have you on board and appreciate your interest in helping improve this project. Please follow this guide to get started with contributing to Udayah. Let’s build a powerful, accessible platform for job seekers together!

## Table of Contents

- [Code of Conduct](#Code-of-Conduct)
- [How Can I Contribute?](#How-Can-I-Contribute?)
- [Setting Up the Project Locally](#Setting-Up-the-Project-Locally)
- [Submitting a Pull Request](#Submitting-a-Pull-Request)
- [Getting Help](#Getting-Help)
- [Support](#Support)


## Code of Conduct

Please adhere to the Code of Conduct in all interactions in this project. We aim to create a welcoming environment for everyone, and respecting others is our top priority.

## How Can I Contribute?

### Reporting Bugs

If you find any bugs, please open an issue with a detailed description.
Include the steps to reproduce the issue and any relevant screenshots.

### Suggesting New Features
We’re open to your ideas! If you have a feature suggestion, create an issue and provide as much detail as possible.

### Improving Documentation

Documentation improvements are always welcome. If you find areas that could be clearer or need examples, feel free to contribute!

### Writing Code
Contributions to new features, refactoring, or code improvements are welcome. Be sure to follow the coding and style guidelines detailed below.

## Setting Up the Project Locally


To set up Udayah for local development, follow these steps:

### Prerequisites

- Install Flutter version **3.19** by following the [Flutter documentation](https://docs.flutter.dev/get-started/install).
- Set up your own Firebase instance and link it to the project for in-app account creation for now.

- for web check out [Flutter Web documentation](https://docs.flutter.dev/platform-integration/web/building)


### Clone this repository:

```git clone https://github.com/your-username/udayah.git```

- cd udayah

- Then navigate to the `lib/` folder within the Flutter project to begin development.

``` flutter run -d chrome```


### Backend Setup
Navigate to the Backend Directory

- Go to the functions/ folder, which contains the backend code for Udayah.
- Install Dependencies
``` npm install ```
- Configure Environment Variables

Copy the ```.env.example``` file and rename it to ```.env``` in the functions/ directory.

- Set the following environment variables in the .env file:
- ```ENCRYPTION_KEY:``` This should match the encryption key used in the Flutter application.
- Database settings as required.

Start the Server

```npm start```


### Encryption Setup

In the Flutter project, go to `lib/encryption.dart` and ensure that the encryption key matches the one defined in your `.env` file in the Node.js backend. The key can be set like this in Flutter:

```dart
static final key = encrypt.Key.fromUtf8("your key"); // Ensure this is the same as in Node.js
```
### Update Flutter API Endpoint

In the Flutter project, navigate to `lib/data/constant.dart` and update the backend API endpoint to match your local or hosted server.

## Submitting a Pull Request

- Fork the repository and create a new branch from ```main```.
- Add and **commit** your changes with clear messages.
- Ensure your code follows the project’s code style and passes any existing tests.
- **Submit a Pull Request** with a description of your changes and reference any relevant issues.


## Getting Help
If you have questions let us know!


Thank you for being part of **Udayah**! We’re excited to work with you.


## Support
For any kind of support, please reach out to us at: Email: [[email protected]](mailto:[email protected])

76 changes: 32 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,65 +1,53 @@
# Udayah
# 🌟Udayah - Empowering Your Job Search Journey 🌟

We invite all open-source enthusiasts to join us in building a free platform for job seekers. In a world where many services for resumes, job emails, and related resources often come at a cost, Udayah stands out as a free, open-source alternative. Whether it’s adding new features, reporting issues, or suggesting improvements, your contributions can help make Udayah a valuable resource for job seekers.
Udayah is a free, open-source platform built with job seekers in mind, offering robust tools to create professional resumes, craft personalized cold emails, and optimize job applications. With a focus on accessibility and community-driven development, Udayah aims to bridge the gap between job seekers and expensive resources—making professional growth accessible to everyone.

Before contributing, kindly outline the use case, benefits, and goal of your proposed feature or changes. Together, let’s build something meaningful, accessible, and free for everyone!
Whether you're entering the workforce or advancing your career, Udayah is here to equip you with the resources you need to stand out in today’s competitive market—all at no cost. Join us in shaping a brighter, more inclusive future for job seekers worldwide!

## 🌍 About Udayah

## Tech Stack
Udayah is more than just a job search tool—it's a platform built on the principles of community, accessibility, and open-source collaboration. Developed as a mobile and web application, Udayah leverages Flutter, Node.js, Firebase, and AWS to bring you a seamless experience across devices. Our mission is to simplify your job search process, offering resume-building tools, job alerts, and resources that help you apply with confidence and ease.

- **Frontend:** Flutter
- **Backend:** Node.js, Firebase, Aws
This project is a personal initiative, showcasing development skills while addressing the financial burden of costly career services. Let’s make career growth attainable for all. Reach out if you'd like to contribute or learn more—Udayah is a community effort!

## Local Setup
✨ Key Features

### Flutter Setup
- 100% Free and Open Source: Udayah is and always will be free for job seekers.
- Powerful Resume Builder: Craft polished resumes quickly and effortlessly.
- Instant Job Alerts: Get notified about job openings directly within the app.
- Comprehensive Job Search and Apply: Browse jobs and apply seamlessly.
- User-Centric Security: Robust authentication to keep your data safe and secure.
- Cross-Platform Integration: Switch between mobile and web versions seamlessly.

1. Install Flutter version **3.19.6** by following the official [Flutter documentation](https://docs.flutter.dev/get-started/install).
2. Set up your own Firebase instance and link it to the project for in-app account creation, later we will setup with share Firebase account.
3. Navigate to the `lib/` folder within the Flutter project to begin development.
4. For more information on building for the web, refer to the [Flutter Web documentation](https://docs.flutter.dev/platform-integration/web/building).
5. To run the project in Chrome, execute the following command:
```bash
flutter run -d chrome
```

### Backend Setup
## 🚀 Getting Started

1. **Navigate to the `functions/` directory:**
- This folder contains the backend logic for the project.
### Prerequisites

2. **Install dependencies:**
- Run `npm install` to install all required dependencies.

3. **Environment Configuration:**
- Copy the `.env.example` file and create a `.env` file in the `functions/` directory.
- Define the `ENCRYPTION_KEY` in the `.env` file. Ensure that this key matches the one used in your Flutter application for encryption.
- Define Database settings.
- Ensure you have Flutter installed. If not, follow the [Flutter Installation Guide](https://docs.flutter.dev/get-started/install).
- Set up a Firebase instance for authentication and account management.
- Clone the repository:
```git clone https://github.com/your-username/udayah.git```

4. **Starting the Server:**
- After configuring the `.env` file, run the server using the command `npm start`.
### Running the App
- Navigate to the Flutter project directory
```cd udayah```

### Encryption Setup
### Run the project on your device:
```flutter run```

In the Flutter project, go to `lib/encryption.dart` and ensure that the encryption key matches the one defined in your `.env` file in the Node.js backend. The key can be set like this in Flutter:
### To build for the web:

```dart
static final key = encrypt.Key.fromUtf8("your key"); // Ensure this is the same as in Node.js
```
```flutter run -d chrome```

### Update Flutter API Endpoint

In the Flutter project, navigate to `lib/data/constant.dart` and update the backend API endpoint to match your local or hosted server.
For more detailed instructions, refer to the Flutter Web Guide and Flutter Mobile Guide.

## Contributing
We welcome contributions from everyone! Whether you're reporting an issue, adding new features, or suggesting improvements, check out our [Contribution Guidelines](https://[https://github.com/muzammildafedar/udayah]/blob/master/CONTRIBUTING.md) for details on how to contribute.

- Please open an issue before submitting pull requests.
- Clearly explain the use case, benefits, and goals for any new feature or fix.
- Respect the coding standards and maintain consistency in the codebase.
🌟 Star This Repository! 🌟

We look forward to your contributions!
Hi there! 👋 If you find this project useful or interesting, please consider giving it a ⭐️ (star). Your support motivates me to continue improving Udayah and adding new features. It also helps others discover the project and join in the mission to create a free platform for job seekers.

Happy coding!
Thank you for being part of the Udayah community! 🚀✨

## Support
For any kind of support, please reach out to us at: Email: [[email protected]](mailto:[email protected])
Happy coding! 🖥️💻