Skip to content

RCDD-202110-TUR-BEW/backend-capstone-turkey-bursapediary

Repository files navigation

license-shield html-shield css-shield mongodb-shield express-shield nodejs-shield heroku-shield git-shield github-shield


Bursapediary

Pure, friendly, promising
Explore the docs »

View Demo · View GIFs · Demonstration Video · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Team
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgements

About The Project

Bursapediary is a place where people come to find supporters for their dreams, here, you can find individuals, NGOs, or officials willing to help you fund your path to your goals, get that degree, do that technical training, or join that sports tournament. on this portal, you can see and search by various categories for specific funding or bursaries and apply to them/contact the donators and explain your exact needs, or if you can’t find the thing you looking for, you can post a funding request explaining your needs and when someone is willing to help, you will be informed by Email/SMS. All you need to do, sign up as a 'reinforcer' or an 'achiever' and post everything about the carrier or the idea you want to support if you are a reinforcer or the goal you have financial need to achieve if you are an achiever. use the search bar to find similar ideas and wait for Bursapediary to find you a fit!

Features

  • List projects
  • CRUD operations for projects
  • CRUD operations for users
  • Support projects
  • Review on projects
  • Comment on projects
  • Filter projects by category
  • Search projects indices by text
  • Register/Login
    • Allow Google, Github, Classic
  • Middleware for authors and admins

Built With

  • mongodb-shield
  • express-shield
  • nodejs-shield

Demo

  • Server (backend) link: heroku-shield

Screenshots

Database Diagram

Database

System Design Flowchart

System

OpenAPI Docs

Docs

Homepage

Homepage

Performance Monitoring and Benchmarking

Performance Performance Performance

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • git

    if (you have brew installed ) {
      use this command => 'brew install git'
    } else {
      download the installer from the official website => https://git-scm.com/downloads
    }
  • node

    if (you have brew installed) {
      use this command => 'brew install node'
    } else {
      download the installer from the official website => https://nodejs.org/en/
    }

What is brew ?? (See: Homebrew Package Manager)

Installation

main branch for server side (node)
  1. Clone the repo
    git clone https://github.com/RCDD-202110-TUR-BEW/backend-capstone-turkey-bursapediary.git
  2. Install npm packages on both branches
    cd backend-capstone-turkey-bursapediary
    on main branch
    'yarn / npm i'
  3. Create environment variables
if (you will serve on localhost) {
  on main directory create a copy of .env.example and rename to .env file 
  then change the constants to your own env strings
  ```
  SECRET_KEY: 'some very secret key'
  ```
} else if (you will use some SaaS hosting services like heroku, netlify etc){
  use process.ENV configuration depends on your server
}
  1. You are good to go
on main directory => 
if (you need to watch changes) {
  'yarn dev / npm run dev'
} else {
  'yarn start / npm run start'
}

Team

Meet our team members through their GitHub profiles

amr
@amr-nash
coruh
@corcit
eda
@edaguler00
halit
@halitbatur
souhaib
@felmez
yaman
@yaman3bd

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Bursapediary Team

  • Email: mail{at}domain{dot}com
  • linkedin-shield

Acknowledgements

  • google-shield
  • stackoverflow-shield