Skip to content

Carrosen/being_stockholm-api

 
 

Repository files navigation

Coverage Status Build Status

Project Title

Being Stockholm !

Being Stockholm engages citizens to digitally share, map and illustrate how they use the region. Residents shares geotagged photos of how they work and play along with a short caption, so we can produce:

  • A data point map to illustrate where Stockholmers work and play
  • A word cloud map to describe how Stockholmers work and play
  • A curated map of recommendations by Stockholmers for Stockholmers

We want to inspire residents to explore new parts of the city and try out activities. Everyone can share their experiences, regardless of how long they have lived in Stockholm and their language.

We can help urban planners see how the city is used and changing, so that the urban development process can be more responsive, and even change the perceptions of regeneration areas, to attract new and established Stockholmers alike.

Companies can attract and retain internationals with a preview of living and working in Stockholm. It can be part of their post-relocation care to help the new staff, their partner and family feel more settled to reduce the risk of their relocation ending prematurely.

Active and engaged residents will help Stockholm remain as a top city to live and work, attract internationals to keep Sweden competitive, and a platform to promote Sweden to the world.

This is an actual project that we were offered the chance to develop as our final project with Craft Academy. Our goal is to build a Minimum Viable Product, which means there is lots of space for improvements.

This was a three weeks project (June 10th - June 28th).

User Stories

Check the whole design sprint and user story history of the project in this Pivotal Tracker board.

Deployment & GitHub

This application consists of a back-end API and a front-end Client.

The GitHub repository for the API is here and the one for the Client is here.

The API is deployed using Heroku on this address.

The client, which is where everything happens, is deployed via Netlify here.

Tests, Test Coverage & CI

API

The API part of the application was request and unit tested using Rspec.

To be able to run the tests, run bundle install in your terminal as soon as you fork this repository.

You must also have the database migrations in place, in order for everything to work properly. So in your terminal run rails db:migrate. In case this command produces an error, you can run rails db:drop db:setup.

After that, use bundle exec rspec to run all tests avoiding any conflicts with the gems of this repo and your locally installed gems.

Unit and request tests can be found in the spec/models and spec/requests folders respectively.

Coveralls was used to measure the API's test coverage.

Semaphore CI was used for continious integration.

CLIENT

The Client part of the application was acceptance tested using Cypress.

All API calls are handled using mock data json files, which can be found in the cypress/fixtures folder. Before you run any tests, you first need to asssign the development value to axios.defaults.baseURL and authUrl variables found in src/index.js and src/reduxTokenAuthConfig.js respectively. Then you run npm install in your terminal to download all packages.

After that, use npm run cy:open to launch a local server instance of the application and run all acceptance tests of Cypress.

Acceptance tests can be found in the cypress/integration folder.

Built With

  • API with Ruby on Rails version 5.2.3.
  • API with Ruby version 2.4.1.
  • Client with React.
  • Client was styled using Semantic UI.
  • Client uses theming functionality of Semantic-UI precompiled with gulp. All relevant files can be found in src/semantic folder.

Authors

License

This project is licensed under the MIT license.

Acknowledgments

Special Appreciations

3 months ago, we embarked on a journey to the unknown universe of coding. It was a demanding experience, that made us stronger and substantially more competent and knowledgeable, when it comes to modern web development practices.

That journey was made possible and smoother, because of the support from our coaches in Craft Academy. They were always next to us, helping us, mentoring us, teaching us, even during weekends, sacrificing their personal time.

Thank you:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 99.6%
  • HTML 0.4%