Welcome to the Rate AUC Professors project repository. This project aims to provide an app-based platform specifically designed for American University in Cairo (AUC) students, enhancing their academic and social experience by offering features that address current shortcomings in existing solutions.
- Introduction
- Features
- Architecture
- Technologies Used
- Installation
- Usage
- Contributing
- Future Work
- License
The primary objective of the Rate AUC Professors application is to assist students in maximizing their academic and social experiences at AUC. The application addresses various issues identified in the current Facebook-based solution, such as disorganized content, access by non-AUC students, lack of professor information, and navigation difficulties.
- Exclusive Access: Only AUC students can access the platform using AUC email verification.
- Professor Profiles: Detailed profiles for AUC professors, including background information, teaching styles, and course organization.
- Anonymous Feedback: Integration of anonymous feedback and a machine-learning rating system.
- Course Material Repository: A repository for course-related materials.
- Gamification System: Points system to incentivize student engagement.
- Structured Navigation: Categorized and organized information for easy navigation.
- React.js: Utilized for building interactive user interfaces.
- React Router: Manages routing within the application.
- JWT Authentication: Enhances the security of the login process.
- ASP.Net Core 7: Framework used for server-side logic.
- Entity Framework Core: ORM for database interactions.
- Repository Pattern and Unit of Work: Design patterns used for data access and transaction management.
- ERD Design: Entity Relationship Diagram depicting the architecture of the database.
- ApplicationDbContext: Manages database context and entity relationships.
- Front-end: React.js, React Router, JWT
- Back-end: ASP.Net Core 7, Entity Framework Core
- Database: SQL (via Entity Framework)
- Testing: Swagger for API testing
- Clone the repository:
git clone https://github.com/MohamedRagabAbbas/rate-auc-professors.git cd rate-auc-professors
- Install front-end dependencies:
cd frontend npm install
- Install front-end dependencies:
cd ../backend dotnet restore
- Run the front-end:
cd frontend npm start
- Run the back-end:
cd ../backend dotnet run
- Access the application:
Open your browser and navigate to http://localhost:3000.
We welcome contributions from the community. To contribute, please follow these steps:
- Fork the repository.
- Create a new branch (git checkout -b feature/your-feature-name).
- Make your changes and commit them (git commit -m 'Add your feature').
- Push to the branch (git push origin feature/your-feature-name).
- Open a pull request.
We have identified several areas for future development:
- Extending the application to support other universities.
- Implementing a more sophisticated machine-learning algorithm for rating analysis.
- Enhancing the security measures for user authentication and data privacy.
This project is licensed under the MIT License. See the LICENSE file for more details.