TalentTrade is a marketplace web app designed for people with various skills and trades to connect and exchange their services.
TalentTrade aims to solve several common problems:
- High Cost of Services: Many people find it expensive to hire professionals for various services. TalentTrade allows users to trade their services instead of paying with money, making it a cost-effective way to obtain needed services.
- Underused Skills: Skilled individuals often have talents that are underused because they lack opportunities to showcase them or can't find clients. TalentTrade provides a platform for users to showcase their skills.
- Time Wasted Searching for Service Providers: Finding services or clients through traditional methods can be inefficient and frustrating. TalentTrade uses a matchmaking algorithm to make it easier for users to find local matches for service exchanges.
The platform is designed to build trust within the community through user reviews and ratings, and efficiently match users based on their skills, needs, and location.
- React: Chosen for its component-based architecture and community of existing components/packages. In addition, it is easy to learn and prototype on, which suits the time constraint of this course well.
- Vite: Its dev-tooling is very useful.
- Django REST Framework: We wanted to conform to REST for our backend to mimic industry standards. We selected Django REST Framework for its robustness, built-in features, and rapid development.
- Node.js and npm installed on your machine.
- Python and pip installed on your machine.
- install Redis on your machine and have it running in a terminal.
-
Navigate to the frontend directory:
cd frontend
-
Install the required npm packages:
npm install
-
Start the development server:
npm run dev
-
Navigate to the backend directory:
cd backend
-
Install the required Python packages:
pip install -r requirements.txt
-
Apply database migrations:
python manage.py makemigrations python manage.py migrate
-
Initialize the World Cities database:
python manage.py populate_worldcities
-
Apply Migrations for django_celery_beat app:
python3 manage.py migrate django_celery_beat
-
Open a new terminal and start Celery Worker
celery -A backend worker --loglevel=info
-
Open a new terminal and start Celery Beat
celery -A backend beat --loglevel=info
-
Start the Django development server:
python manage.py runserver
Once both the frontend and backend servers are running, you can access the application in your web browser at http://localhost:5173
.
- 1. Do we use git flow? Yes, to make it more organized. Using git flow will allow us to split up our project and make it easier to manage and review each feature more conveniently. Gitflow also provides a clear structure for managing our branches, which makes it easier to follow the development process.
- 2. What do we name our branches? The Main branch is “main”, the Develop branch is “develop” and the Feature branches follow the format “feature-_” where _ is the feature name
- 3. Do we use github issues or another ticketing website? We use Jira for tracking user stories. Jira allows us to track and assign user stories to group members.
- 4. Do we use pull requests? Yes, pull requests are used to merge feature branches into the develop branch to have other members review and test the features.