GithubHelp home page GithubHelp logo

barionleg / celestial-bodies-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from celestial-bodies/celestial-bodies-client

0.0 0.0 0.0 5 MB

https://barionleg.github.io/celestial-bodies-client/docs/api/index-files/index-1.html http://www.wikisky.org/

License: MIT License

Java 100.00%

celestial-bodies-client's Introduction

Celestial Bodies Client

Star gazing isn't just a hobby, It's a way of life.

Celestial Bodies helps the a curious star gazers to simply point their device in the direction of a star and receive information about the star at a click of a button.

This app allows the user to point his phone at a celestial object or constellation in the night time sky, touch the screen at the location of the object, and that celestial app will be identified immediately in context of other celestial objects. The name, location, current knowledge of the object, etc. will be made available. The presentation of the celestial sky will be aesthetically pleasing as possible. The app will require acquiring access to an API database containing the description and locations of those objects. Also, to make the app work, gps location capability tied to angle tilt of the phone will be required. The coordinate information needed for the app to locate and display a given celestial object will be constantly updated via the API. I believe a server will be needed for obtaining gps coordinates of the user. This app will allow users to log in and provide to other users useful information such as particularly good locations for observing the stars. Only those who log in to the service and have filled out a form will be able to communicate with others via the app: A third person user authentication service will be used for this part of the service.

Required functional components

  • A client application—an Android app, a Java SE application, web pages constructed dynamically on the server side using a templating or component approach, etc.

  • An application server, usually in the form of a REST service provider.

  • A database server—typically—but not necessarily—a MySQL or Derby database server. (Note that the application server and database server may reside on different hosts or the same host; they may even be embedded in a single program.)

    The inclusion of a back-end database (which is required) doesn't preclude the use of a database on the client side—e.g. a SQLite database on Android. In fact, your client implementation will still be expected to include some kind of persistent data store.

  • Communication between the client application and server application. Typically, this will consist of one or more REST (or REST-like) services published by the server application, and consumed by the client application. These services should allow the client application to create, read, and update (and optionally delete) objects stored on the server side, in accordance with the business logic of the server side.

  • Support for multiple simultaneous client application users, connected as relevant to the server application.

  • Automated pre-loading of any relevant base data sets (client- and server-side).

  • User authentication (this may—and often does—leverage the services of an OAuth2 provider, such as Google).

Current Development of Celestial Bodies

Celestial Bodies is close to being complete, the user is able to point their device towards an a star or planet in the sky and click the capture button and instantly get the top 10 stars, ordered by magnitude. The user is able to check their previous sky-searches in the history screen or retrieve more info about the current stars that the user captured. Capturing stars displays an image of the grouping of stars and also the current ascension and declination of the position of the users device.

Unimplemented/Incomplete Elements of Celestial Bodies

  • The dashboard displays categories to search, but each categories do not display anything once clicked.
  • The search is currently no connected to backend server, therefore cannot make queries.
  • Info doesn't search when item is clicked
  • Need to make the app stay in profile orientation by disabling landscape view

Known Issues/Bugs

  • Currently having issues with connecting to backend server, search and info hard coded.

Android API Version and Hardware

for this application the following were used to test UI and function.

  • Android API 27
  • Nexus 5x emulator
  • Samsung Galaxy Note 9
  • HTC One M9
  • Galaxy J7 Sky Pro

Third Party Libraries

  • Retrofit (includes OkHttp and Retrofit)

    Retrofit is designed to establish and perform requests to WikiSky API web service.

  • Stetho

    Stetho is a developmental tool that examines the local display resources and database contents.

  • Room

    Room provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.

  • Sensor-fusion

    Sensor-fusion is a publicly-available demo that allows the user to access their phone's gyroscope and/or accelerometer in order to map out its spatial orientation.

External Services

This app accesses has the HYG star database pre-loaded as well accesses the Wikisky API.

WikiSky

WikiSky provided the ability information and the ability to search for stars.

HYG Database

HYG Star Database provided and managed 100,000+ star database that was used for our backend server.

Potential Future of Celestial Bodies

As this application progresses in development, the focuse will start to implement a community based functionality. Users will be able to make a user profile, coneect with friends and other star gazers. The user would be able to share their location and objects they have searched or captures. User should be able to retrieve more infomation from the dashboard in the form of categories; i.e. planets, stars, comets.

Goals

  • Implement system to allow users to access camera to be able to see where and which star they are pointing their device.
  • Enable search to query stars from the back end server.
  • Find common names for stars to implement method for front end star names to match up with back end stars.
  • Enable sharing between Celestial Bodies users.
  • Dashboard should retrieve information about the categories that are presented.

User Interface Improvements

  • Display category items and clickable items from dashboard.
  • Make sure captured star image displays full screen.
  • Implement fiction using camera as a way to let users see where they are pointing their phone.

Design Documentation

Javadoc Page

Javadocs

Licenses/Copyright

Copyright & Licenses

Instructions for Building Celestial Bodies

Build Instructions

Instructions for Using Celestial Bodies

User Instructions

Celestial Bodies, All Rights Reserved

Celestial Bodies License

celestial-bodies-client's People

Contributors

cfhughes avatar ethanlyons avatar ksimms2 avatar mcsmallpox avatar tnordquist avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.