Hey everyone! I’m working on an app for my uni where students can rate their courses. I’ve got a text file with all the course info (credits and descriptions). Now I need to set up a way for users to find courses, leave reviews, and give ratings. Each review should include the term taken, professor name, a short comment (max 20 words), and a 1-5 star rating.
I’m not sure where to start with this. Should I use Firebase? How do I set up the search function and review system in Flutter? Any tips or code examples would be super helpful!
Here’s a basic structure I’m thinking of:
class CourseReview {
String courseName;
String termTaken;
String professorName;
String reviewText;
int rating;
CourseReview(this.courseName, this.termTaken, this.professorName, this.reviewText, this.rating);
}
How can I build on this to create a full review system? Thanks in advance for any help!
Hey there, LeoNinja22! Your course review app sounds super cool. I’m curious, have you thought about how you’ll handle anonymous reviews? Some students might feel more comfortable sharing honest feedback if they can stay anonymous.
Also, what about adding a feature where students can upvote helpful reviews? That way, the most useful feedback rises to the top. It could make the app even more valuable for other students trying to choose courses.
For the tech side, Firebase is definitely a solid choice. But have you considered using GraphQL? It might give you more flexibility as your app grows. Just a thought!
I’d love to hear more about your plans. What features are you most excited about implementing?
yo, that sounds like a cool project! for the search function, you could use flutter’s built-in search delegate. it’s pretty easy to set up. as for the review system, maybe consider adding a ‘helpfulness’ rating to each review? that way students can upvote reviews they find useful. firebase is great for this kinda stuff, but don’t forget to optimize your queries to keep it snappy!
For implementing a course review system, Firebase Firestore is a strong candidate due to its real-time synchronization and scalability. You can design the system by creating separate Firestore collections for courses and reviews. Use Flutter’s SearchDelegate to enable efficient course lookup, and build a form with input validation to handle review submissions. Display the reviews with a ListView.builder and integrate a star rating system using flutter_rating_bar. Additionally, consider utilizing Firebase’s query features for searching and implement user authentication for data security. Local caching with a package like Hive can also enhance performance.