Code Monkey home page Code Monkey logo

fullstack_harjoitustyo_backend's Introduction

Project work "Memory tracks" for the course Full Stack Web Development at University of Helsinki

See https://courses.helsinki.fi/en/aytkt21010/129098202 and https://github.com/fullstackopen-2019/misc/blob/master/projekti.md for the reference regarding the course information.

The project has been implemented in three different git repositories: the first one contains the backend implementation on top of NodeJS and GraphQL (this), the second repository has the React JS based frontend implementation and the third one has the experimental React Native implementation for iOS and Android mobile devices.

General

The application "Memory tracks" is designated for a user who utilizes Internet services with multiple devices and wants to easily access the previously store data. The application enables an easy way of storing/linking meaningful content (e.g. important notes, links to web resources that the user wants to have a look at a bit later). The notes can be stored, classified and searched by using keywords. The frontend takes care of fetching and presenting the information obtained from the API provided by the backend.

Backend implementation

The backend implementation has been mostly built on the following technologies NodeJS, MongoDB Atlas, Mongoose, and GraphQL (Apollo Server). The API built on top of GraphQL can be used directly on the server (see the following section).

Build and execution

System requirements

  • nodejs (e.g. v.10.19.0), yarn/npm installed
  • a database e.g. in MongoDB Atlas (the connection string is configured as environment variable)

Building the application

  • execute the command yarn install to install the required dependencies
  • the production version of the backend is run by invoking the command yarn start.

The production version of the backend (i.e. the GraphQL API running on top of ApolloServer) resides at https://sleepy-woodland-08922.herokuapp.com/graphql. The run environment for end-to-end tests (always the most current version of the develop branch of the backend, against which the frontend code pushed to its develop branch is tested) is running at: https://pacific-spire-56237.herokuapp.com/graphql

Used technologies

  • NodeJS
  • GraphQL + Apollo Server and other Apollo related libraries
  • ESLint
  • Mongoose
  • MongoDB Atlas
  • Nodemailer

Time keeping

Time keeping for the project work

fullstack_harjoitustyo_backend's People

Contributors

dependabot[bot] avatar minzen avatar

Stargazers

 avatar

Watchers

 avatar  avatar  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.