@@ -77,31 +77,37 @@ Schedio provides a platform for students/employees, colleges/organizations, and
7777## Features
7878
7979### General Features
80- 1 . User Authentication with email (forgot password support)
81- 2 . Comprehensive skill dataset
82- 3 . Plagiarism check using RapidAPI
83- 4 . Upload support for videos, code files, and images
84- 5 . Tree-like code structure viewer
85- 6 . Code explanation powered by Gemini
80+
81+ 1 . User Authentication with email (forgot password support)
82+ 2 . Comprehensive skill dataset
83+ 3 . Plagiarism check using RapidAPI
84+ 4 . Upload support for videos, code files, and images
85+ 5 . Tree-like code structure viewer
86+ 6 . Code explanation powered by Gemini
86877 . Session persistence for seamless user experience
88+
8789###### Note:- T stands for Type
90+
8891### T1 User Features (Student/Employee)
89- 1 . View all projects
90- 2 . Search projects by programming language
92+
93+ 1 . View all projects
94+ 2 . Search projects by programming language
91953 . Tokenized search across projects
92- 4 . Comment/Like functionality on projects
96+ 4 . Comment/Like functionality on projects
93975 . Can be added as contributors by T2 users on project uploads.
94986 . Add/Edit profile picture and custom Student Description
95997 . Auto generates Description on Signing up
96100
97101### T2 User Features (College/ Organisation)
102+
981031 . View only their T1 users' projects.
991042 . Monthly Analytics.
1001053 . Upload projects for T1 users.
1011064 . Auto-sync skills and projects with T1 profiles.
1021075 . View and download T1 user profiles as PDFs.
103108
104109### T3 User Features (Recruiter)
110+
1051111 . Access to all projects.
1061122 . Comment on any project.
1071133 . Filter by Institute or Domain.
@@ -117,6 +123,7 @@ Schedio provides a platform for students/employees, colleges/organizations, and
117123To run the project locally, follow these steps.
118124
119125### Prerequisites
126+
120127- Node.js & npm
121128- MongoDB Database
122129- Git
@@ -126,17 +133,20 @@ To run the project locally, follow these steps.
126133### Installation
127134
1281351 . Clone the repository:
136+
129137 ``` sh
130138 git clone https://github.com/vsreddyh/schedio.git
131139 ```
132140
1331412 . Install dependencies:
142+
134143 ``` sh
135144 cd frontend && npm install
136145 cd ../backend && npm install
137146 ```
138147
1391483 . Create a ` .env ` file in the ` ./backend ` folder with the following structure:
149+
140150 ``` env
141151142152 PASSWORD=your-app-password
@@ -152,6 +162,66 @@ To run the project locally, follow these steps.
152162 npm run build && node index.js
153163 ```
154164
165+ ### Installation using Docker
166+
167+ 1 . Clone the repository:
168+ ``` sh
169+ git clone https://github.com/vsreddyh/schedio.git
170+ ```
171+
172+ #### For Development
173+
174+ 2 . Create a ` .env.development ` file in the root folder with the following structure:
175+
176+ ``` env
177+ 178+ PASSWORD=your-app-password
179+ JWT_SECRET=random-32-characters
180+ SESSION_KEY=random-32-characters
181+ plagarismapi=your-rapidapi-key
182+ geminiapi=your-gemini-api-key
183+ url=mongodb://your-connection-url/database-name?retryWrites=true&w=majority
184+ FRONTEND_URL=http://localhost:3000
185+ REACT_APP_BACKEND_URL=http://localhost:3001
186+ ```
187+
188+ 3 . Build the image:
189+
190+ ``` sh
191+ docker build -f development.Dockerfile -t app-dev .
192+ ```
193+
194+ 4 . Run the container:
195+ ``` sh
196+ docker run --env-file .env.development -p 3000:3000 -p 3001:3001 app-dev
197+ ```
198+
199+ #### For Production
200+
201+ 2 . Create a ` .env.production ` file in the root folder with the following structure:
202+
203+ ``` env
204+ 205+ PASSWORD=your-app-password
206+ JWT_SECRET=random-32-characters
207+ SESSION_KEY=random-32-characters
208+ plagarismapi=your-rapidapi-key
209+ geminiapi=your-gemini-api-key
210+ url=mongodb://your-connection-url/database-name?retryWrites=true&w=majority
211+ FRONTEND_URL=website-url
212+ ```
213+
214+ 3 . Build the image:
215+
216+ ``` sh
217+ docker build -f production.Dockerfile --build-arg REACT_APP_BACKEND_URL=" website-url" -t app-prod .
218+ ```
219+
220+ 4 . Run the container:
221+ ``` sh
222+ docker run --env-file .env.production -p 3001:3001 app-prod
223+ ```
224+
155225---
156226
157227## Contributing
@@ -165,16 +235,19 @@ We welcome contributions of all kinds! Whether it's bug reports, feature suggest
165235
1662362 . ** Clone the Repository**
167237 Clone your forked repository locally to make changes:
238+
168239 ``` sh
169240 git clone https://github.com/your-username/schedio.git
170241 cd schedio
171242 ```
172243
1732443 . ** Create a New Branch**
174245 Use meaningful branch names to reflect the type of changes you are making:
246+
175247 ``` sh
176248 git checkout -b feature/your-feature-name
177249 ```
250+
178251 _ Example:_
179252 ` feature/user-authentication ` or ` feature/fix-login-issue `
180253
@@ -183,12 +256,14 @@ We welcome contributions of all kinds! Whether it's bug reports, feature suggest
183256
1842575 . ** Commit Your Changes**
185258 Write clear, concise commit messages to describe the changes you made:
259+
186260 ``` sh
187261 git commit -m " clear and concise commit name"
188262 ```
189263
1902646 . ** Push Your Branch to GitHub**
191265 Push the branch to your forked repository:
266+
192267 ``` sh
193268 git push origin feature/your-feature-name
194269 ```
@@ -213,10 +288,12 @@ We welcome contributions of all kinds! Whether it's bug reports, feature suggest
213288### Reporting Issues and Suggesting Features
214289
215290If you encounter bugs or have ideas for new features, please open an issue:
216- - ** Report Bugs** : [ Create a Bug Report] ( https://github.com/vsreddyh/schedio/issues/new?labels=bug )
217- - ** Request Features** : [ Suggest a Feature] ( https://github.com/vsreddyh/schedio/issues/new?labels=enhancement )
291+
292+ - ** Report Bugs** : [ Create a Bug Report] ( https://github.com/vsreddyh/schedio/issues/new?labels=bug )
293+ - ** Request Features** : [ Suggest a Feature] ( https://github.com/vsreddyh/schedio/issues/new?labels=enhancement )
218294
219295Make sure to:
296+
220297- Provide as much detail as possible.
221298- Include steps to reproduce bugs, if applicable.
222299
@@ -245,16 +322,17 @@ Your effort makes a huge difference! Every bug report, feature request, and pull
245322![ ] ( https://github.com/vsreddyh/schedio/blob/main/frontend/public/Status.png?raw=true ) <p style =" text-align : center ;" >Log out option in T1 users</p >
246323
247324![ ] ( https://github.com/vsreddyh/schedio/blob/main/frontend/public/college.png?raw=true )
248- <p style =" text-align : center ;" >Organization HomePage</p >
249325
326+ <p style =" text-align : center ;" >Organization HomePage</p >
250327
251328![ ] ( https://github.com/vsreddyh/schedio/blob/main/frontend/public/student_profile.png?raw=true ) <p style =" text-align : center ;" >Student Page viewed by T3,T2 users</p >
252329
253330![ ] ( https://github.com/vsreddyh/schedio/blob/main/frontend/public/college_search.png?raw=true )
254- <p style =" text-align : center ;" >Filtering by college in Recruiter page</p >
255331
332+ <p style =" text-align : center ;" >Filtering by college in Recruiter page</p >
256333
257334![ ] ( https://github.com/vsreddyh/schedio/blob/main/frontend/public/Bookmark.png?raw=true )
335+
258336<p style =" text-align : center ;" >Bookmarks in recruiter page</p >
259337
260338---
0 commit comments