- Features
- Installation
- Usage and Examples
- Running Tests
- Environment
- Optimizations
- Technologies & Tools
- Skills
- Contributors
- Links
- Screenshots
- Special Acknowledgements
π Features
- Signup & Login
- Navigation
- User Profiles
- Requester Dashboard
- Runner Dashboard
- Requester Status Window
- Runner Status Window
πΎ Installation
- Clone the repository:
git clone https://github.com/rpp31-boc-lachesis/neighbr.git
- Install dependencies:
npm install
βοΈ Usage & Examples
- Signup/Login
- Request or run an errand
- Track your progress
- Thank your neighbor
- View your profile or others
π§ͺ Running Tests
Our test suite is set up with Jest, React Testing Library, and Mock Service Worker.
To run the test suite in development, simply run:
npm test
or, when deploying via your CI/CD pipeline:
npm test:ci
β°οΈ Environment
Copy .env.example
to .env
and fill in your information.
NODE_ENV="PRODUCTION or DEVELOPMENT"
PORT="EXPRESS-PORT"
PRODUCTION_URL="productionURL"
DB_URI="mongo://your.mongo.uri"
DB_NAME="mongoDatabaseName"
DB_USER="mongoUsername"
DB_PASSWORD="mongoUserPassword"
MONGO_INITDB_ROOT_USERNAME="rootUsernameForMongoDBDocker"
MONGO_INITDB_ROOT_PASSWORD"rootPasswordForMongoDBDocker"
MAPBOX_API_KEY="YourAPIKey"
jwtSecret="your JWT auth secret"
βοΈ Optimizations
- Bundling of React code and all media assets with Webpack
- Use of compression middleware for faster payload transfers
- Performance-tuned database queries
- Use of Passport JS for secure authentication and reduction of malicious behavior
- Containerization for ease of deployment and scaling
- Use of React Router for faster page loads and seamless user experience
- Continuous integration and continuous deployment for faster development and shipment
- NGINX placed as proxy server for security enhancement and future load-balancing & caching
π» Technologies & Tools
π Skills
- RESTful API architecture
- Modular controllers
- Object relational database management
- Secure authentication and sign-up
- Request and run location tracking
- Responsive web design / mobile friendly
- Dynamic and conditional rendering
- Map navigation
- High test coverage
- Containerization
- Continuous integration and continuous deployment
π€ Contributors
- Git Hub
- Jake Caughern - Architecture Owner
- Cameron Colaco - Software Engineer
- Josh Fuqua - Product Manager
- Michael Lapid - UI Owner
- Yitong Liu - Software Engineer
- Maxine Majnaric - Software Engineer
- Mary Miyamoto - Software Engineer
π Links
- π Visit our homepage!
π· Screenshots
- Hack Reactor
- A special thank you to Hack Reactor!