Lifestyle
VisitRwanda is web app to write - read articles as well as vote about how Rwanda is 'land of thousand hills' with an impeccably beautiful country; characterised by fascinating savannah, undulating hills and deep valleys, abundant wildlife and natural aesthetics. Simply log in to your account and start exploring. This project consists of a simple session system with login and sign-up functionalities. You'll be redirected to the homepage where all categories will be displayed together with the most recent article written in that category. You can click the category section to browse all articles inside a single category. I also implemented a voting system for the articles where the user can vote just once for each article.
Install / Use
/learn @Emmyn5600/LifestyleREADME
VisitRwanda
VisitRwanda is web app to write - read articles as well as vote about how Rwanda is 'land of thousand hills' with an impeccably beautiful country; characterised by fascinating savannah, undulating hills and deep valleys, abundant wildlife and natural aesthetics. Simply log in to your account and start exploring. This project consists of a simple session system with login and sign-up functionalities. You'll be redirected to the homepage where all categories will be displayed together with the most recent article written in that category. You can click the category section to browse all articles inside a single category. I also implemented a voting system for the articles where the user can vote just once for each article.
Features
- User can log in only using the username
- User sees the homepage where the first row is the most voted article followed by all categories - listed with the most recent article's image and title
- Only logged in user can submit an article
- When the user clicks on a category inside the homepage, they can see all articles in that category
- Users can vote only once for each article.
Live Demo
Loom Video
Screenshot of the homepage

Getting Started
To get a local copy up and running follow these simple example steps:
Built With
- Ruby v2.7.2
- Ruby on Rails v6.1.3.2
- Postgres: >=13.2-2
- SQLite3
- Node.js
- Yarn
Setup and Install
- Open your terminal - Windows:
Win + R, then typecmd| Mac:Command + space, then typeTerminal - Navigate to a directory of your choosing using the
cdcommand - Run this command in your OS terminal:
https://github.com/Emmyn5600/Lifestyle.gitto get a copy of the project - Navigate to the project's directory using the
cdcommand - Migrate the database to your environment by running
rails db:migrate - Run
rails webpacker:installto configure Webpacker for your environment. Otherwise, an error likeWebpacker::Manifest::MissingEntryErrorwill appear if you attempt to run the server. - Install dependencies by running
bundle install* Executerails serverto fire up the server - Visit
http://localhost:3000/in your browser to get into the app - Interact with the app using the links in the nav bar. To access private pages, sign up by clicking the
Sign Uplink - Interact with the app
- To close the server, enter
Ctrl + Cin your terminal
Setup
Instal gems with:
bundle install
yarn install
Setup database with:
rails db:create
rails db:migrate
Github Actions
To make sure the linters' checks using Github Actions work properly, you should follow the next steps:
- On your recently forked repo, enable the GitHub Actions in the Actions tab.
- Create the
feature/branchand push. - Start working on your milestone as usual.
- Open a PR from the
feature/branchwhen your work is done.
Usage
Start server with:
rails server
Open http://localhost:3000/ in your browser.
Run tests
bundle exec rspec
👤 NSABIMANA Emmanuel
- GitHub: @emmyn5600
- Twitter: @NSABIMA62253884
- LinkedIn: @nsabimana-emmanuel-4276091b2
Credits
Thanks to Nelson Sakwa for her awesome design work. I based my work on this design.
🤝 Contributing
Contributions, issues, and feature requests are welcome!
Feel free to check the issues/.
Related Skills
node-connect
352.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
