-
- 11.1. Run Tests
- 11.2. Build Documentation
In today's fast-paced, consumer-driven world, waste and overproduction are growing concerns. Our project for CSC 648 focuses on combating these ecological challenges by creating SecondChance, a platform for renting second-hand items. This website offers users a chance to rent and lease a variety of pre-owned products, promoting sustainability and reducing waste.
Key technologies include Django, Django Rest Framework, and Next.js, along with Tailwind CSS for responsive design. Real-time chat functionality powered by sockets enhances user interactions.
Feature | Description |
---|---|
Eco-Conscious Rentals | Focus on renting second-hand items, reducing waste and promoting sustainability. |
User-Friendly Listings | Users can easily add, browse, and manage listings of second-hand items. |
Real-Time Communication | Integrated real-time chat feature allows renters and sellers to discuss terms and conditions. |
Search and Filters | Advanced search and filter options to find items based on location, category, price, and condition. |
Favorites List | Users can save favorite items to rent in the future. |
Secure Transactions | Payment gateways to ensure safe and secure rental transactions. |
Sustainability Tips | A dedicated page offering eco-friendly tips on how to reuse, recycle, and maintain items. |
Personalized User Dashboard | Renters and sellers have personalized dashboards to manage their rentals, listings, and communications. |
Responsive Design | The platform is fully responsive and works seamlessly on all devices. |
Technology | Usage |
---|---|
Frontend | Next.js, Tailwind CSS |
Web App Framework | Django, Django Rest Framework |
Backend | Python |
Database | PostgreSQL |
Authentication | Django Allauth |
Search and Filters | Elasticsearch |
Web server | nginx |
Deployment | Docker, AWS EC2 |
Version Control | GitHub |
Compiler/IDE | VS Code |
Real-Time Communication | WebSockets |
- Homepage: Welcome and feature overview of available second-hand items for rent.
- User Dashboard: Personalized page where users can manage their rentals, preferences, and communication.
- Item Listing: A page to add new second-hand items for rent, showcasing details, conditions, and rental rates.
- Detail Page: In-depth view of each item’s features, rental price, availability, and reviews from other users.
- My Rentals: Manage the user’s current and previous rental engagements.
- My Listings: A page for sellers/users to manage the items they have listed for rent.
- Favorites: A section for users to save and manage their favorite items to rent.
- Chat Page: Real-time chat for communication between renters and sellers to discuss rental terms, conditions, and other inquiries.
- Search & Filters: A sophisticated search mechanism allowing users to filter second-hand items based on price, category, location, and condition.
- Sustainability Tips Page: A dedicated page offering users ecological tips on reusing and maintaining items to further reduce environmental waste.
Student Name | Student Email | GitHub Username | Student's Role |
---|---|---|---|
Parth Desai | [email protected] | pycoder2000 | Team Lead / PM |
Pedro Grande | [email protected] | PFGrande | Front-end Developer |
Charvi Sharma | [email protected] | charvisharma6732 | Scrum Master |
Josue Hernandez | [email protected] | johernandez26 | Git Master |
Andre Velarde | [email protected] | NathVelarde | Back-end Lead |
Preet Vithani | [email protected] | preet56 | Front-end Lead |
Hsin-Ying Tsai | [email protected] | Golden1018 | Back-end Developer |
- Clone the project repository
git clone [email protected]:CSC-648-SFSU/CSC648-01-FA24-Team05.git
- Move to the project root folder.
cd application/backend/secondchance_backend
- Create and activate a virtual environment.
- (For Mac)
virtualenv venv
source venv/bin/activate
- (For Windows)
virtualenv venv
.\venv\activate
- To deactivate the environment
deactivate
Follow the steps mentioned under the Setup Backend section in the instructions provided earlier.
Follow the steps mentioned under the Setup Frontend section in the instructions provided earlier.
Follow the Git commands provided earlier in the instructions to manage your branches and updates.
- How to setup Github SSH
- How to setup a Django Project (:warning: Only uptil Step 2)
To run the tests with coverage:
docker exec -it backend-web-1 pytest
- Navigate to the docs folder:
cd application/backend/secondchance_backend/docs
- Clean previous builds and build the documentation:
make clean
make html