Welcome to CareerHorizon, a platform that connects learners with experienced professionals and mentors. It allows users to book 1-on-1 mentorship sessions, join workshops, and gain industry insights from experts. This platform aims to create a community where knowledge sharing helps individuals in career development.
- Mentor Profiles: Browse profiles of professionals from various industries.
- 1-on-1 Session Booking: Schedule individual mentorship sessions with mentors.
- Workshops and Events: Join group workshops and webinars hosted by mentors.
- Search Functionality: Search mentors based on expertise, industry, or skills.
- Real-time Availability: View and book sessions based on mentors’ available slots.
- Review System: Provide feedback and rate mentors after sessions.
- Create and Manage Profiles: Set up profiles to showcase expertise and set availability.
- Manage Sessions: Accept or decline session requests with an integrated calendar.
- Host Group Events: Organize and manage workshops for multiple users.
- Dashboard: Access information on upcoming and past sessions, reviews, and more.
- Notification System: Receive notifications for booking confirmations, reminders, and updates.
- Authentication: Secure user authentication using tokens and password encryption.
- User Dashboard: Both users and mentors can manage bookings and view session history.
- Payment Integration: (Optional) Set up paid sessions with integrated payment gateways.
- React.js: A JavaScript library for building dynamic user interfaces.
- HTML5, CSS3, JavaScript: Core web technologies for building and styling the UI.
- Python Django: A high-level Python web framework for rapid development.
- Django REST Framework: For building APIs that allow communication between the frontend and backend.
- MySql: A robust, open-source relational database for managing mentor and user data.
- Docker: To containerize the application, making it easy to deploy and run in any environment.
- Pytest: A testing framework for ensuring the quality and reliability of the backend code.
- JWT (JSON Web Tokens): For secure user authentication.
- Celery: For handling background tasks like sending notifications and emails.
- Redis: For managing real-time notifications and caching.
Make sure you have the following installed on your machine:
- Node.js (for running React.js frontend)
- Python 3.x (for Django backend)
- Docker (for containerization)
- MySql (database)
- Clone the repository:
git clone https://github.com/your-username/your-repository.git
- Navigate to the backend directory:
cd your-repository/backend
- Create a virtual environment and install dependencies:
python3 -m venv env source env/bin/activate pip install -r requirements.txt
- Set up environment variables:
Create a
.env
file and include the following:SECRET_KEY=your_secret_key DATABASE_URL=your_database_url DEBUG=True JWT_SECRET=your_jwt_secret
- Run database migrations:
python manage.py migrate
- Start the backend server:
python manage.py runserver
- Navigate to the frontend directory:
cd your-repository/frontend
- Install dependencies:
npm install
- Start the frontend server:
npm start
Both the backend and frontend servers should now be running.
If you prefer to run the entire stack using Docker:
- Build and run containers:
docker-compose up --build
This will create and run both the backend and frontend services along with the database in separate containers.
-
For Users:
- Sign up and log in to the platform.
- Browse through the available mentors.
- Book mentorship sessions or join workshops.
- Provide feedback and rate sessions after completion.
-
For Mentors:
- Set up your profile, including your availability.
- Manage incoming session requests and workshop bookings.
- View feedback and adjust availability as needed.
To ensure that the backend API works as expected, we use Pytest for automated testing.
- Run tests:
Navigate to the backend directory and run:
pytest
You can create unit tests for both the API endpoints and the database models to ensure full coverage.
We welcome contributions! To contribute to this project, follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature
- Commit your changes:
git commit -m "Add your feature"
- Push to your branch:
git push origin feature/your-feature
- Open a Pull Request: Submit your PR with a description of the changes you've made.
Please report any issues you encounter by opening a GitHub issue. Be sure to include details on how to reproduce the issue.
This project is licensed under the MIT License.
If you have any questions or feedback, feel free to reach out:
- Email: [email protected].(mailto:[email protected])
- GitHub: https://github.com/surajPrajapati-rgb)
Thank you for using CareerHorizon! We hope this platform helps you connect with mentors and advance your career development.