COmmunity
At COmmunity, we are committed to empowering Colorado's low-income residents, people experiencing homelessness, immigrants, and migrants by providing a centralized, user-friendly platform to discover free or low-cost resources. These resources span essential areas such as:
- Food
- Housing
- Healthcare
- Childcare
- Legal services
- Education
Vision
Our vision is to build a stronger, more connected community by ensuring that everyone in Colorado has access to the resources they need to thrive. By centralizing knowledge and creating a space for feedback and collaboration, we aim to make navigating these services easier and more transparent for all.
Features
- Search for resources based on location and needs
- User feedback and ratings for services
- Mobile-friendly design for ease of access
Project Setup Instructions
Prerequisites
Before you begin, ensure you have the following installed on your machine:
Setup Instructions
-
Fork the Repository
Navigate to the repository on GitHub and click the "Fork" button to create a copy of the repository under your own GitHub account.
-
Clone the Repository
Open your terminal and run the following command to clone the repository:
git clone <repository_url>
-
Navigate into the Directory
cd <directory_name>
-
Verify Installation
docker --version
rails --version
psql --version
-
Set Up Environment Variables
Create a .env file in the root folder using your credentials
-
Build and Start the Containers
Build and start the containers and create the database.
docker-compose up -d
-
Access the Application
Open up a browser and navigate to http://localhost:3000/
Installation
Usage
Ruby Version
System Dependencies
Ruby on Rails: Core Gems
- Rails Version: 7.1.0
- Includes edge Rails version from GitHub as an alternative option.
Front-end & CSS
- Bootstrap Version: 5.3.3
- Autoprefixer Rails: Adds vendor prefixes to CSS automatically.
- Popper.js Version: 2.11.8 (Dependency for Bootstrap).
- ExecJS: Executes JavaScript from Ruby.
Asset Pipeline
- Sprockets Rails: Original asset pipeline for Rails.
Database
Server
- Puma: Web server for Rails. Version 5.0
JavaScript & CSS Management
- JSBundling Rails: Manages JavaScript bundlers like esbuild or rollup.js.
- CSSBundling Rails: Manages CSS bundlers (e.g., Tailwind CSS, Bootstrap).
Import Maps & Styling
- Importmap Rails: Manages JavaScript modules using import maps.
- Sass Rails Version: 6 (For using Sass in Rails).
Hotwire (SPA Features)
- Turbo Rails: For fast, SPA-like pages.
- Stimulus Rails: For modest JavaScript enhancements.
API Building
Authentication & Authorization
- Devise: Handles authentication.
- Pundit: Handles authorization.
Redis & Background Jobs
- Redis Version: 4.0.1 (Redis adapter for Action Cable).
- Sidekiq Version: 6.0 (Background processing using Redis).
Optional Gems
- Kredis: Higher-level data types in Redis (commented out).
- BCrypt: For secure password handling (commented out).
Time Zone Data
- Tzinfo-data: For time zone info (Windows/JRuby platforms).
Performance & Caching
- Bootsnap: Speeds up boot time by caching.
Miscellaneous
- Ostruct: Added for Ruby 3.5.0 to fix warnings.
Development & Testing
Debugging Tools
- debug
- web-console
- byebug
- pry-rails
Testing Tools
- rspec-rails
- factory_bot_rails
- capybara
- selenium-webdriver
Notes
- Remember to update gems regularly using
bundle update
to get security patches and bug fixes.
In Progress
- Database Creation: In Progress
- Database Initialization: In Progress
- How to Run the Test Suite: In Progress
- Services (job queues, cache servers, search engines, etc.): In Progress
- Deployment Instructions: In Progress
Contributors
- NickLM1200 - Nic
- GOKU900 - Lizeth Amateco Nava
- Marsvx - Mauren Vasquez
- akrajeski - Anna Krajeski
- NatashaLeeXY - Natasha Lee
- Ariamestra - Maria Estrada