Coder Social home page Coder Social logo

snacc-api's Introduction

Project Snacc

A software solution for managing hostel meals and mess.

Contents

  1. Description
  2. Project structure
  3. Getting started
  4. Built with
  5. Authors

Description

Snacc is being developed by Mangalam Sharma as a part of his training period of learning backend with node ts under Mind Webs Ventures, mentored by Aunomitra Ghosh and Ayush Singh.

This project serves as a software solution for hostels to manage their mess related tasks.

What's the problem?

There is a lack of an online platform for hostel boarders to stay updated about their daily hostel meals as well as to turn their meal off or on for the day. All these tasks are done manually using registers and papers and not very reliable and viable. This project serves to solve the above problem.

How can this project help?

This project will help manage mess related tasks - like maintaining a log of food items being ordered, meals being cooked daily, count number of meals to be cooked by taking input from users whether to turn their meal on or off for the day and some more minor helpful features.

Project structure

/
  ├── build/              build files for typescript (gitignored).
  ├── node_modules/       npm packages (gitignored).
  ├── src/              
    ├── config/           configs for db, swagger and other packages go here
    ├── controllers/      controller functions for every route. controllers make calls to services
    ├── interfaces/       structure for various data objects are defined under this directory
    ├── middlewares/      middlewares for various routes go here
    ├── models/           database schema / models go here
    ├── routes/           routes or endpoint definitions go here, routes make calls to controllers
    ├── services/         files that process and query the database go here 
    ├── app.js              entry point for our project
  ├── .env                environment variables used in the project (gitignored)
  ├── .gitignore          stores files and directories to be ignored in commits
  ├── .prettierrc         configuration for prettier to help maintain a common code formatting
  ├── package.json        metadata of the project
  ├── package-lock.json   stores version of every package used in the project
  └── readme.md           details and instructions about the project go here

Getting started

To run the api locally, follow these steps:

  1. clone the repository
  2. create the .env file with PORT, CONNECT_URL and JWT_SECRET variables
  3. run npm i to install packages defined in package.json
  4. run npm run start to start the backend server.

If you make any change to the codebase, run npm run prettify to format the code using the configured prettier npm package.

Prerequisites

  1. node and npm
  2. typescript
  3. postman

Built with

  • NodeTS and Express for backend
  • MongoDB as the database
  • Postman for API Testing

Authors

snacc-api's People

Contributors

mangalam0512 avatar singhayushh avatar

Forkers

xritzx

snacc-api's Issues

Completion of user routes

change password, forgot password and reset password.

look up what logic is generally used in the backend to tackle these three requirements and work on the same.

Password hashing

Never save passwords as they are in the database. Use some npm package like bcrypt or sha256 to hash the password before adding it to the database.

Day wise meal count APIs

Create APIs such that:

  • users can view today's meal
  • users can individually turn their meal on or off for the day.
  • fetch meal count for today (non veg - veg separate counts)
  • also store food items ordered for the day's meal and save them in the database along with cost, weight etc.

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.