Skill Tree is a platform that connects skill seekers with each other. We aim to facilitate meaningful interactions in local communities through encouraging learning together and helping each other grow.
URL : https://skilltree-stacky.herokuapp.com/
Use the package manager npm to install this app
npm install
npm run client-install
npm run start
Our core functionalities that will be highlighted are as of follows:
-
Profile (This functionality is mainly describing how will the user interact with the app):
-
Log in
- View (Login.js)
- Route (/login)
- Controller (req,res)
- Models (User)
- Client Route
-
Sign up
- View (Signup.js)
- Routes (/register)
- Controllers (userController.registerUser)
- Models (User)
- Client Route
-
Viewing your profile
- View (Profile.js)
- Routes (/user/:id)
- Controllers (userController.findUserById)
- Models (User)
- Client Route
-
Editing your profile
- View (ProfileEdit.js)
- Routes (/user/:id, /skill)
- Controllers (userController.findUserById, skillController.findAllSkills)
- Models (User, Skill)
- Client Route
-
-
Appointment System (This functionality is mainly describing how users will make appointments and how to manage them)
-
Searching users
- View (Search.js)
- Routes (/users, /skill)
- Controllers (userController.findNUsers, skillController.findAllSkills)
- Models (User, Skill)
- Client Route
-
Filtering users (based on skills)
- View (Search.js & FilterDrawer.js)
- Routes (/users, /skill)
- Controllers (userController.findNUsers, skillController.findAllSkills)
- Models (User, Skill)
- Client Route
-
Viewing other users profile
- View (OthersProfile.js)
- Routes (/user/:id)
- Controllers (userController.findUserById)
- Models (User)
- Client Route
-
Creating appointments with other users
- View (CreateAppointment.js)
- Routes (/appointment)
- Controllers (appointmentController.addNewAppointments)
- Models (Appointment)
- Client Route
-
Seeing appointments
- View (AllAppointment.js)
- Routes (/appointment/approve/:id, /appointment/:id, /appointment)
- Controllers (appointmentController.approveAppointment, appointmentController.deleteAppointments, appointmentController.findAllAppointments)
- Models (Appointment)
- Client Route
-
Accepting and rejecting appointments
- View (AllAppointment.js & AppointmentExpandable.js)
- Routes (/appointment/approve/:id, /appointment/:id, /appointment)
- Controllers (appointmentController.approveAppointment, appointmentController.deleteAppointments, appointmentController.findAllAppointments)
- Models (Appointment)
- Client Route
-
-
Workshop (This functionality allows our user to find available workshops to learan a new skill if they do not have any skills avilable yet)
-
Search the name of the events and specific topics
- View (WorkshopSearch.js)
- Routes (/meetup/location)
- Controllers (meetupController.findCities)
- Client Route
-
Search specific topics
- View (WorkshopSearch.js)
- Routes (/meetup/topic)
- Controllers (meetupController.findTopics)
- Client Route
-
Search the location of events
- View (WorkshopSearch.js)
- Routes (/meetup/event)
- Controllers (meetupController.findEvents)
- Client Route
-
-
Feedback (This functionality allows our users to give other users that they have taught or been taught to give feedback)
-
Create Feedback
- View (CreateFeedback.js)
- Routes (/review)
- Controllers (reviewController.addReview)
- Client Route
-
View Feedback
- View(AllFeedback.js)
- Routes (/review)
- Controllers (reviewController.getReviewOfUser)
- Client Route
-
-
Extra Features (This functionality is additional extra which supports the app)
-
Verification
-
Guidelines
- View (Guideline.js)
- Guideline
-
Page not found
- View (PageNotFound.js)
- PageNotFound
-
To view the complete routes for the app, it can be viewed in app.js and home.js