Welcome to Universe - A Community App for Huskies, a comprehensive web application designed and developed as part of the INFO6150 - Web Design & User Experience Engineering course. The project focuses on creating an engaging platform with advanced features, including user analytics, suggested connections, and a robust messaging system.
The primary goal of Universe is to provide users with a feature-rich environment, combining analytics, user recommendations, and seamless communication. Admins can efficiently manage user accounts, analyze user engagement, and facilitate communication, creating a dynamic and interactive user experience.
To run the project locally, follow these steps:
-
Navigate to the backend directory:
cd backend npm i npm run start
-
Navigate to the frontend directory:
cd frontend npm i npm run dev
Key features of the Universe web application include:
- Mobile Responsive UI: Ensures a seamless user experience across various devices.
- Admin and Users: Distinguishes between administrator and user roles with specific functionalities.
- Landing, Login & Sign Up Pages: Provides intuitive and secure onboarding experiences.
- Pages: Includes Home, Profile, Update Profile, Post, and Message Pages for comprehensive user interaction.
- Password Encryption: Utilizes bcrypt for secure password storage.
- Session Management: Implements JSON Web Tokens (JWT) for efficient session handling.
- Data Consistency: Maintains consistency in User, Posts, Message, and Conversation Models.
- End-to-End Transactions: Ensures seamless transactions for both Admin and User workflows.
- 3rd Party Libraries: Integrates Chakra UI and Bootstrap for enhanced UI components.
- Frontend Framework: Developed using React.
- Backend Tech: Powered by Node.js & Express.js.
- External APIs: Utilizes APIs from Hugging Face, Unsplash, OpenWeather.
- AWS Hosting: Hosts the web application on AWS EC2 instances for scalability and availability.
- CRUD Operations: Implements Create, Read, Update, and Delete operations for User & Posts.
- REST & MVC Architecture: Follows a RESTful API design and adheres to the Model-View-Controller architecture.
- Git Branching: Utilizes developer branches and functionality-based commits for effective version control.
- Documentation: Includes inline comments and follows a consistent naming convention for clarity.
- Database Management: Utilizes MongoDB, hosted on MongoDB Atlas, for efficient data storage and retrieval.
- OpenWeather - Used to render the weather of the user's region.
- Unsplash - USed to render background images in the Login/Signup
- Hugging Face - Used to generate images with the power of AI.
To get started with Universe, you can explore the repository and its various components:
-
Project Report: For a detailed overview of the project, refer to the Project Report.
-
Architecture Diagram: For a detailed overview of the system architecture, refer to the diagrams that are part of the Readme.
-
Code Snippets: The repository includes code snippets that showcase the core components, including user accounts, posts and messaging. These components are the building blocks of Universe.
-
Presentation: The final presentation can be found at Project Presentation.
Amuktha Vaishnavi Kotamsetty, Ketan Keshava, Nagalekha Ramesh, Ruchika Shashidhara.
This project is licensed under the MIT License - see the LICENSE.md file for details.
Feel free to explore and contribute to the Universe project. Happy coding!