-
Notifications
You must be signed in to change notification settings - Fork 180
Home
Here’s a GitHub Wiki structure for your Enyanjyoti repository:
Enyanjyoti is a platform designed to bridge the gap between education and employment while providing vital information about financial support, such as loans and grants. The platform aims to empower learners and professionals alike, offering valuable resources for conceptual learning and career growth.
- Overview
- Project Structure
- Technologies Used
- Getting Started
- Backend APIs
- Firebase Integration
- Frontend UI
- Contributing
- Community Guidelines
- FAQs
The Enyanjyoti platform serves as a one-stop solution for:
- 📚 Conceptual Learning
- 💼 Career and Employment Opportunities
- 💰 Information on Loans and Grants
This repository is a part of GirlScript Summer of Code 2024 Extended Edition and is built using ReactJS, Firebase, CSS, JavaScript, and Express/NodeJS.
/backend # Node.js and Express APIs
/frontend # React.js components and views
/firebase # Firebase configuration and functions
/public # Static files like images, fonts, etc.
/src # Main application source code
/components # React components
/utils # Utility functions and hooks
/styles # Global CSS and styles
/services # API calls and Firebase services
package.json # Dependencies and scripts
- ReactJS: Frontend library for building user interfaces.
- Firebase: Authentication, database, and hosting services.
- CSS: Styling for UI components.
- JavaScript: Core programming logic for both frontend and backend.
- Express & NodeJS: Backend framework for building APIs and handling server-side logic.
Follow these steps to set up the project on your local machine:
-
Clone the Repository
git clone https://github.com/<your-username>/Enyanjyoti.git cd Enyanjyoti
-
Install Dependencies
For frontend:cd frontend npm install
For backend:
cd backend npm install
-
Set Up Firebase
- Create a Firebase project on Firebase Console.
- Add Firebase configuration details in
.env
files for both frontend and backend.
-
Run the Application
In two separate terminal windows, run the frontend and backend servers:cd frontend npm start
cd backend npm run dev
-
Access the Application
Openhttp://localhost:3000
in your browser to access the platform.
The backend is built using Node.js and Express.js. Below are the key APIs available:
- /api/careers: Get career opportunities.
- /api/learning: Fetch conceptual learning materials.
- /api/grants: Get information on loans and grants.
Example of making a POST request to create new content:
fetch('/api/careers', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ jobTitle: 'Frontend Developer', company: 'XYZ Corp' })
});
Firebase is used for:
- Authentication: Manage user logins with Google, email, or password.
- Firestore Database: Store information related to learning resources, career opportunities, and financial support.
- Hosting: The platform can be hosted on Firebase for a scalable infrastructure.
import { getAuth, signInWithEmailAndPassword } from "firebase/auth";
const auth = getAuth();
signInWithEmailAndPassword(auth, email, password)
.then((userCredential) => {
// Signed in
const user = userCredential.user;
console.log(user);
})
.catch((error) => {
console.error(error);
});
The frontend is built using React.js with CSS for styling. It includes:
- Home Page: Overview of the platform’s offerings.
- Learning Section: Browse conceptual learning resources.
- Career Section: View and apply for job opportunities.
- Grants Section: Access information on loans and grants.
Key Components:
- Header: Navigation bar for easy access to sections.
- Footer: Contains platform-related links.
- LearningCard, CareerCard, GrantCard: Display dynamic content.
We welcome contributions from the community! Follow the steps below to contribute:
- Fork the repository.
- Create a new branch for your feature/fix.
- Commit your changes and push to your fork.
- Open a pull request with a description of your changes.
Please follow these guidelines to ensure a positive and productive environment:
- Be respectful and inclusive.
- Communicate clearly, especially in pull requests and issues.
- Provide constructive feedback during code reviews.
-
How do I set up Firebase Authentication?
- Refer to the Firebase Integration section for detailed steps.
-
Can I contribute to both frontend and backend?
- Yes! We encourage contributions across the full stack.
-
Where can I report issues?
- Open an issue in the repository's Issues tab.
Feel free to modify or expand the wiki based on the needs of your repository!