iampranavdhar / campusmind

Campus Mind a Complete Full Stack Mobile Application which manages all the activities of a university

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Campus Mind πŸ“š

A Univeristy Manager App to manage all the daily activities of the university. It is a mobile application built using React Native and Expo. It has a backend built using NodeJs and ExpressJs. The database used is MongoDB Atlas. The app is deployed on Azure. The images are stored in Cloudinary. The app is built for both Android and iOS.

1

Video Demo πŸŽ₯

Complete Product Demo Link

Show some ❀️ and 🌟 the repo to support the project

Index ✏️

Features Of Campus Mind πŸš€

Admin Features πŸ‘¨β€πŸ’Ό

  • Add a new student
  • Add Assignments to the students with a deadline
  • Add an event in the university
  • Add an announcement to the students
  • See the list of students
  • Add Courses
  • Add the images to the gallery

Student Features πŸ‘¨β€πŸŽ“

  • To view the timetable for the day
  • See and submit the assignments
  • See the list of events
  • See the list of announcements
  • Get the details of the course
  • Get Notifications for the assignments,event and announcements
  • See the fee details
  • Message your friends and teachers in the university
  • Placement related details
  • Gallery of the university

Disclaimer ⚠️

  • The app is still under development and many features are yet to be added. And some screens are just for the UI purpose and are not connected to the backend yet. You are free to contribute to this project and make it better. If you want to contribute to this project, please read the Contributing Guidelines first.
  • Feel free to raise an issue if you find any bug in the application
  • Feel free to raise a feature request if you think any feature is missing in the application
  • Feel free to fork the repository and make your own changes if you want to make the app better and use it for your own purpose

Setup πŸ”₯

  • Fork the Repo

  • Clone the repo to your local machine git clone <repo-url>

Frontend Setup 🍧

  1. Get into the chatapp directory cd frontend

  2. Run yarn to install dependencies

  3. Create a .env file and create variables as mentioned in the .env.example with the values

  4. Set up a new project in firebase and get the google-services.json file and place it in the android/app directory and follow the instructions of firebase while generating the file [ For Notifications ]

  5. Run yarn andorid to start the application in android emulator

Troubleshooting βœ…

  • If you are getting an error null is not an object error, then you react-native-webview package might be not installed properly. To fix this, run yarn add react-native-webview and then run yarn android again.
  • If you are facing the ViewPropTypes error, then might will be the react-native version problem. To fix this, run yarn add deprecated-react-native-prop-types and then go to node_modules/react-native/index.js replace from line 436 to four functions

with this:

// Deprecated Prop Types
get ColorPropType(): $FlowFixMe {
  return require('deprecated-react-native-prop-types').ColorPropType;
},

get EdgeInsetsPropType(): $FlowFixMe {
  return require('deprecated-react-native-prop-types').EdgeInsetsPropType;
},

get PointPropType(): $FlowFixMe {
  return require('deprecated-react-native-prop-types').PointPropType;
},

get ViewPropTypes(): $FlowFixMe {
  return require('deprecated-react-native-prop-types').ViewPropTypes;
},
  • In case of any other error try deleting the .gradle folder from the andorid and then run yarn android again

Backend Setup 🍿

  1. Get into backend directory cd backend

  2. Run yarn to install dependencies

  3. Create a MongoDB account and get the MONOGO_URL for connecting the server and the Database

  4. Create a .env file and create variables as mentioned in the .env.example with the values

  5. Run nodemon server.js to start the server [Should have installed nodemon globally]

Releasing the app πŸš€

  1. Run cd android && ./gradlew assembleRelease to generate the release build of the app
  2. You are done with the release build of the app πŸŽ‰πŸ₯³
  3. Download your apk from android/app/build/outputs/apk/release which will be named as app-release.apk
  4. Great! Now you can distribute this apk to anyone and they can install it on their android device, now its time to celebrate πŸŽ‰πŸŽ‰. Please consider giving a star to this repo if you want me to make more such projects 😁

FYI πŸ“Œ

  • The app is build using Expo and React Native and then ejected to use the native modules and better control over the app

Technologies πŸ› 

  • ReactNative
  • NodeJs
  • ExpressJs
  • MongoDB Atlas
  • Cloudinary
  • AWS EC2
  • Azure

Screenshots πŸŒ„

2 3 4 5

References πŸ’»

Author πŸ“

Connect Me On 🌍

twitter badge
linkedin badge

License πŸ†

This repository is licensed under MIT License. Find LICENSE to know more

About

Campus Mind a Complete Full Stack Mobile Application which manages all the activities of a university

License:MIT License


Languages

Language:JavaScript 90.4%Language:Java 4.5%Language:C++ 1.8%Language:Objective-C++ 1.7%Language:Ruby 0.6%Language:Starlark 0.5%Language:Makefile 0.4%Language:Objective-C 0.1%Language:Swift 0.0%